Xcode中的后期脚本目标构建阶段如何嵌入构建版本?

Xcode中的后期脚本目标构建阶段如何嵌入构建版本?,xcode,xcodebuild,iphone,Xcode,Xcodebuild,Iphone,在Xcode中,我添加了一个脚本目标构建阶段,以便在成功构建项目后运行任意脚本。我陷入困境的地方是,我试图通过任何方式将构建版本传递到脚本中。。看起来唯一的方法是解析Settings.app/Root.plist并检索我嵌入其中的硬编码构建版本。有没有其他方法可以让这一切变得有意义?我愿意使用任何脚本环境,特别是Python,因为如果我最终不得不进行XML解析,那么直接在那里进行解析。如果您希望在项目中包含Subversion版本号,类似于的东西可能会起作用。我通过将构建操作移到一系列操作中的第

在Xcode中,我添加了一个脚本目标构建阶段,以便在成功构建项目后运行任意脚本。我陷入困境的地方是,我试图通过任何方式将构建版本传递到脚本中。。看起来唯一的方法是解析Settings.app/Root.plist并检索我嵌入其中的硬编码构建版本。有没有其他方法可以让这一切变得有意义?我愿意使用任何脚本环境,特别是Python,因为如果我最终不得不进行XML解析,那么直接在那里进行解析。

如果您希望在项目中包含Subversion版本号,类似于的东西可能会起作用。

我通过将构建操作移到一系列操作中的第一个来解决这个问题。请随意阅读

我刚刚在“1.0”中添加了“额外”数字的时间。我认为您应该能够轻松地插入
svn
命令

plist还必须前后转换为二进制

然后,在运行此应用程序时,您应该能够从应用程序本身获取此版本字符串

    NSBundle *bundle = [NSBundle mainBundle];
    NSDictionary *info = [bundle infoDictionary];
    NSString *prodName = [info objectForKey:@"CFBundleVersion"];