2012-04-20 69 views
5

我有一个Mac应用程序的Xcode项目,其中包含另一个帮助程序应用程序的项目,以便在登录时启动主应用程序。有没有一种方法可以将辅助程序应用程序的包标识符与主应用程序建立在一个项目变量(如${PRODUCT_NAME})之上,但类似于${ROOT_PRODUCT_IDENTIFIER}Xcode:有没有办法获得父项目的包标识符?

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

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

我与目标这是创造一个真正容易的t Ø使用通用推出在登录助手应用程序任何Mac应用程序可以使用,我知道了这个回购工作,但它需要改变几个值:https://github.com/kgn/LaunchAtLoginHelper

回答

1

我怕你变寻找不存在,看看herehere

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

转到您的主项目的目标,然后单击添加生成阶段 - >添加运行脚本。 在出现的壳中,在输入:

ROOT_PRODUCT_IDENTIFIER_PLIST=`/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" $INFOPLIST_FILE` 
export ROOT_PRODUCT_IDENTIFIER=`eval echo $ROOT_PRODUCT_IDENTIFIER_PLIST` 

现在去你的助手的项目和参考$(ROOT_PRODUCT_IDENTIFIER)在其plist中/构建设置。

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

相关问题