Xcode:有没有办法获取父项目的包标识符?

kee*_*n3d 7 xcode xcode4

我有一个用于mac应用程序的Xcode项目,其中包含另一个帮助应用程序在登录时启动主应用程序的项目.有没有办法我可以将帮助应用程序的包标识符从主应用程序中添加一个项目变量,比如类似的${PRODUCT_NAME}东西${ROOT_PRODUCT_IDENTIFIER}

所以主应用程序的包标识符将是:

com.mydomain.app

帮助应用程序的包标识符将是:

${ROOT_PRODUCT_IDENTIFIER}.Helpercom.mydomain.app.Helper

http://f.cl.ly/items/263B370t2G3F2q202n3D/Screen%20Shot%202012-04-20%20at%201.23.18%20AM.png

我的目标是在登录帮助应用程序中创建一个非常容易使用的泛型启动,任何mac应用程序都可以使用它,我已经让它在这个仓库中工作,但它需要更改几个值:https:// github. COM/KGN/LaunchAtLoginHelper

ale*_*0xB 3

恐怕您要查找的变量不存在,请查看此处此处

但我可以想到一种解决方法,即创建自己的环境变量,这并不困难。为了实现您想要的目标,请为主项目创建一个构建脚本,该脚本提取标识符并将其保存到环境变量中。

转到主项目的目标并单击“添加构建阶段”->“添加运行脚本”。在出现的 shell 框中,输入:

ROOT_PRODUCT_IDENTIFIER_PLIST=`/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" $INFOPLIST_FILE`
export ROOT_PRODUCT_IDENTIFIER=`eval echo $ROOT_PRODUCT_IDENTIFIER_PLIST`
Run Code Online (Sandbox Code Playgroud)

现在转到助手的项目并在其 plist/build 设置中引用 $(ROOT_PRODUCT_IDENTIFIER)。

请记住将主项目添加为后者的依赖项,以便始终在需要时设置该变量。