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

时间:2012-04-20 08:33:25

标签: 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

1 个答案:

答案 0 :(得分:3)

我担心您要查找的变量不存在,请查看herehere

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

转到主项目的目标,然后点击添加构建阶段 - >添加运行脚本。 在出现的shell框中,在以下位置键入:

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

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

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