WatchKit扩展束标识符

我正在尝试构build我的应用程序,但失败了。 我在下面显示消息。

错误:WatchKit Extension不包含任何捆绑标识符与“com.domain.appname.watchkitapp”匹配的WatchKit应用程序。 validationWatchKit扩展的Info.plist中WKAppBundleIdentifier的值是否与WatchKit App的Info.plist中的CFBundleIdentifier的值匹配。

我最近将"com.domain.appname.watchkitapp"更改为"com.domain.differentappname.watchkitapp"

我找不到要改变的地方。

在更改包标识符时,您必须小心,以下是应如何设置它们(您需要更改Info.plist中iPhone应用程序Watchkit扩展程序Watchkit应用程序的每个标识符):

iPhone应用Info.plist:

根据需要设置任何包标识符(“包标识符”属性)。

例:

 Bundle identifier: com.fruitcompany.orange 

WatchKit App Info.plist

此处的包标识符必须以iPhone应用程序的标识符为前缀,如下所示(示例):

 Bundle identifier: com.fruitcompany.orange.watchkit 

您还需要更改必须与iPhone应用程序包标识符匹配的WKCompanionAppBundleIdentifier ,如下所示:

 WKCompanionAppBundleIdentifier: com.fruitcompany.orange 

Watchkit扩展Info.plist:

此处的包标识符必须以iPhone应用程序的标识符为前缀,如下所示(示例):

 Bundle identifier: com.fruitcompany.orange.watchkit.extension 

您还需要在NSExtension属性下设置NSExtension

WKAppBundleIdentifier

WKAppBundleIdentifier标识符必须与WatchKit应用程序包标识符匹配,如下所示:

 WKAppBundleIdentifier: com.fruitcompany.orange.watchkit 

首先,让我在@DejanSkledar的这个页面上突出显示这个优秀的答案,因为答案中提到的所有位置都很重要。

也就是说,这个答案的准确设置对我来说是不够的。 我想补充这个答案,并指出,因为watchkit 2,从应用程序,手表应用程序,然后最终到捆绑ID的应用程序扩展的工作似乎有一个层次结构。

这里是他们对应的info.plist文件中的设置,这些文件在我findedwardmp对相关问题的答案后为我工作。

iPhone应用程序包ID:com.domain.yourapp

观看应用程序的包ID:com.domain.yourapp.watchkit

Watchkit的扩展包Id:com.domain.yourapp.watchkit.extension

正如你所看到的,一个iPhone应用程序有一个watchkit应用程序,本身恰好有一个watchkit扩展,并且每个这些级别必须反映在它们各自的捆绑ID中。

完成关系后,手表应用程序必须使用WKCompanionAppBundleIdentifier指向其所属的iPhone应用程序,手表扩展必须指向它所属的手表应用程序(WKAppBundleIdentifier)。

观看应用程序的WKCompanionAppBundleIdentifier:com.domain.yourapp

观看应用的扩展WKAppBundleIdentifier:com.domain.yourapp.watchkit

希望这可以节省一些时间,因为我不得不在这个几个小时挣扎:(

所以,当你只想在testing设备上运行时,你不一定会改变什么。 但是您确实需要请求两个供应configuration文件才能testing手表应用程序。 这两个额外的标识符可以从扩展目标和观看应用程序目标获取。 当您要将手表应用程序上传到App Store时,也需要执行相同的操作

您还可能需要更改项目iOS伴侣应用程序的信息p.list中的WKCompanionAppBundleidentifier项,以匹配WatchKit扩展程序info.plist中的WKAppBundleIdentifer项。 我在复制早期的手表套件项目时发现这一点,并将手表套件扩展info.plist中的WKAppBundleIdentifier更改为与手表套件info.plist中的套件标识符相匹配,并且该项目仍然出现同样的错误。 你需要去Finder,findiOS伴侣项目info.plist,然后双击它,然后根据需要更改WKCompanionAppBundleIdentifer项。 我无法通过查看Xcode中的info.plist来看到这个键。