WatchKit的用户定义设置

时间:2015-04-15 10:00:10

标签: ios objective-c plist watchkit xcode-6.2

我正在使用用户定义的设置(例如CustomAppBundleId)来更改不同配置的包标识符。在应用的plist文件中,我将CFBundleIdentifier设置为${CustomAppBundleId}。对于Release配置,我使用bundle:

com.yourcompany.${PRODUCT_NAME:rfc1034identifier}

对于AdHoc,我使用:

com.yourcompany.adhoc.${PRODUCT_NAME:rfc1034identifier}

现在我添加了WatchKit Extension和WatchKit App。对于WatchKit Extension包标识符,我可以使用相同的方法。我还必须更改WKAppBundleIdentifier以匹配WatchKit应用程序中的包标识符。同样,我可以使用用户定义的设置。现在最后一点是WatchKit App。不幸的是,WatchKit App没有添加用户定义设置的选项,但我需要为CFBundleIdentifierWKCompanionAppBundleIdentifier设置正确的值(在应用中等于CustomAppBundleId)。有什么办法可以吗?或者我应该使用不同的方法?

2 个答案:

答案 0 :(得分:2)

定义您的"用户定义"项目的构建设置中的变量而不是目标中的变量。这样,您将在WatchKit Extension和App target中自动获得(继承)相同的用户定义变量。


请确保您从App Store获得最新的Xcode 6.3。此版本(以及最新的Xcode 6.3 beta 4)已经允许您定义自定义"用户定义的"在构建设置中。)

以前的版本只是缺少"构建设置" WatchKit App目标中的选项卡,但如果你足够勇敢,你可以在纯文本编辑器中手动修改它们: - )

答案 1 :(得分:0)

更新到Xcode 6.3。

在6.3中,您将拥有可提供所需内容的目标配置的其他选项卡。

但我几乎肯定你会遇到WatchKit App Storyboard的问题 在Scenes > Identity Inspector > Custom Class中你必须设置正确的模块 - 如果你有超过1个是不可能的(如果你没有多于一个,我会对你的设置感兴趣)

我用一个相应更新故事板XML的预操作脚本解决了这个问题