Tom*_*mer 53 ios bundle-identifier apple-watch watchkit
我正在尝试构建我的应用程序,但它失败了.我看到下面的消息.
错误:WatchKit Extension不包含任何其包标识符与"com.domain.appname.watchkitapp"匹配的WatchKit应用程序.验证WatchKit Extension的Info.plist中WKAppBundleIdentifier的值是否与WatchKit App的Info.plist中的CFBundleIdentifier值相匹配.
我最近改"com.domain.appname.watchkitapp"
到"com.domain.differentappname.watchkitapp"
.
我无法找到改变它的地方.
Dej*_*dar 179
更改包标识符时必须小心,这里应该如何设置它们(您需要更改iPhone应用程序,Watchkit扩展和Watchkit应用程序的Info.plist中的每个标识符):
根据需要设置任何包标识符("Bundle identifier"属性).
例:
Bundle identifier: com.fruitcompany.orange
Run Code Online (Sandbox Code Playgroud)
此处的包标识符必须以iPhone应用程序的标识符为前缀,如下所示(示例):
Bundle identifier: com.fruitcompany.orange.watchkit
Run Code Online (Sandbox Code Playgroud)
你还需要改变WKCompanionAppBundleIdentifier
其必须与iPhone应用程序包标识符,这样的搭配:
WKCompanionAppBundleIdentifier: com.fruitcompany.orange
Run Code Online (Sandbox Code Playgroud)
此处的包标识符必须以iPhone应用程序的标识符为前缀,如下所示(示例):
Bundle identifier: com.fruitcompany.orange.watchkit.extension
Run Code Online (Sandbox Code Playgroud)
您还需要WKAppBundleIdentifier
在NSExtension
属性下设置.
的WKAppBundleIdentifier
标识符必须与这样的应用WatchKit绑定标识符匹配:
WKAppBundleIdentifier: com.fruitcompany.orange.watchkit
Run Code Online (Sandbox Code Playgroud)
Ada*_*onR 17
首先,让我强调@DejanSkledar在本页面上的优秀答案,因为答案中提到的所有位置都很重要.
也就是说,答案中的精确设置对我来说还不够.我想补充一下这个答案并指出,自从watchkit 2开始,当您从应用程序,到手表应用程序,然后最终到捆绑ID的应用程序扩展时,似乎需要一个层次结构.
在我找到edwardmp关于相关问题的答案之后,以下是每个相应的info.plist文件中的设置.
iPhone应用程序的捆绑ID:com.domain.yourapp
观看App的Bundle Id:com.domain.yourapp.watchkit
Watchkit的Extension Bundle Id:com.domain.yourapp.watchkit.extension
正如您所看到的,iPhone应用程序有一个watchkit应用程序,它本身恰好有一个watchkit扩展,并且每个级别必须反映在它们各自的bundle id中.
完成关系后,手表应用程序必须使用它(WKCompanionAppBundleIdentifier)指向它所属的iPhone应用程序,并且手表扩展必须指向它所属的手表应用程序(WKAppBundleIdentifier.)
观看App的WKCompanionAppBundleIdentifier:com.domain.yourapp
观看App的扩展WKAppBundleIdentifier:com.domain.yourapp.watchkit
希望这可以节省一些时间,因为我不得不在这几个小时挣扎:(
归档时间: |
|
查看次数: |
22806 次 |
最近记录: |