【问题标题】:User-Defined settings for WatchKitWatchKit 的用户定义设置
【发布时间】:2015-06-21 05:40:04
【问题描述】:

我正在使用用户定义的设置(例如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 没有添加用户定义设置的选项,但我需要为 CFBundleIdentifierWKCompanionAppBundleIdentifier 设置正确的值(等于应用程序中的 CustomAppBundleId)。有什么办法可以做到吗?还是我应该使用不同的方法?

【问题讨论】:

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


【解决方案1】:

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


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

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

【讨论】:

    【解决方案2】:

    更新到 Xcode 6.3。

    在 6.3 中,您将拥有额外的目标配置选项卡,这些选项卡应能满足您的需求。

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

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

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 1970-01-01
      • 2016-02-05
      • 1970-01-01
      • 2019-07-27
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多