不知道目的WKAppBundleIdentifier
是什么。WatchKit Extension 的包标识符是否和WKAppBundleIdentifer
假设具有相同的 id?当我在 iOS 模拟器和 iWatch 模拟器之间为它们分配相同的 idcom.myProbjectName.watchkitextension
共享数据(应用程序组)时,它们根本不起作用。但是,如果我更改WKAppBundleIdentifer
为com.myProbjectName.watchkitapp
并保留 WatchKit 的捆绑标识符,则com.myProbjectName.watchkitextension
iOS 模拟器和 Apple Watch 模拟器之间共享数据的工作原理相同 ( )。WKAppBundleIdentifier
为什么要这样做?和 bundle identifier ( ) 有什么区别CFBundleIdentifier
?
1 回答
3
CFBundleIdentifier
是 WatchKit Extension 的 Bundle Identifier,其中包含 WatchKit App。因此,Bundle Identifier 对于扩展是唯一的,例如com.some.app.watchkitextension
.
WKAppBundleIdentifier
是扩展内捆绑的 WatchKit App 的标识符。这就是为什么这些值必须不同的原因,因为 WatchKit App 有自己的 Bundle Identifier(例如com.some.app.watchkitapp
)。这个值应该是 WatchKit App 的值CFBundleIdentifier
。
它也与配置有关。所有三个部分(iOS 应用程序、WatchKit 扩展和 WatchKit 应用程序)都必须有自己的 Bundle Identifier 和配置文件。
WKAppBundleIdentifier
实际上是 WatchKit 扩展对 WatchKit App 的规范的一部分NSExtension
。
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>WKAppBundleIdentifier</key>
<string>com.some.app.watchkitapp</string>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.watchkit</string>
</dict>
于 2015-04-17T09:08:33.487 回答