1

我正在使用用户定义的设置(例如CustomAppBundleId)来更改不同配置的捆绑标识符。在应用程序的 plist 文件中,我设置CFBundleIdentifier${CustomAppBundleId}. 对于发布配置,我使用捆绑:

com.yourcompany.${PRODUCT_NAME:rfc1034identifier}

对于 AdHoc,我使用:

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

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

4

2 回答 2

2

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


顺便说一句,确保您从 App Store 获得最新的 Xcode 6.3。此版本(以及最新的 Xcode 6.3 beta 4)已经允许您在构建设置中定义自定义“用户定义”)。

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

于 2015-04-15T13:45:55.743 回答
0

更新到 Xcode 6.3。

在 6.3 中,您将有额外的选项卡用于目标配置,这些选项卡应该提供您需要的内容。

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

我用一个相应地更新情节提要 XML 的预操作脚本解决了这个问题

于 2015-04-15T19:28:17.517 回答