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
标识符必须与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来看到这个键。