在更改捆绑标识符时,您需要小心,并且以下是设置它们的方法(您需要为iPhone应用程序、Watchkit扩展和Watchkit应用程序中的每个标识符更改Info.plist中的标识符):
iPhone应用程序Info.plist:
将任何捆绑标识符设置为所需(“Bundle identifier”属性)。
例如:
Bundle identifier: com.fruitcompany.orange
WatchKit应用程序Info.plist
这里的包标识符必须以iPhone应用程序的标识符为前缀,如下所示(示例):
Bundle identifier: com.fruitcompany.orange.watchkit
您还需要更改 WKCompanionAppBundleIdentifier
,它必须与iPhone应用程序包标识符匹配,就像这样:
WKCompanionAppBundleIdentifier: com.fruitcompany.orange
WatchKit扩展Info.plist:
这里的包标识符 必须 使用iPhone应用程序的标识符作为前缀,就像这样(示例):
Bundle identifier: com.fruitcompany.orange.watchkit.extension
您还需要在NSExtension
属性下设置WKAppBundleIdentifier
。
![WKAppBundleIdentifier](https://istack.dev59.com/TGBQm.webp)
WKAppBundleIdentifier
标识符必须与WatchKit应用程序包标识符匹配,如下所示:
WKAppBundleIdentifier: com.fruitcompany.orange.watchkit
别忘了检查你在项目目标中的 Bundle ID 和 Info.plist 中的是否相同!
WKAppBundleIdentifier
嵌套在NSExtension
中隐藏,但错误信息只提到其未作用域处理是十分恶劣的。我只是猜测它缺失了并手动添加到了根目录,结果自然是相同的错误和很多挫败感。感谢您传播真相! - Ohad Schneider