iPhone WatchKit 配套应用显示名称

Posted

技术标签:

【中文标题】iPhone WatchKit 配套应用显示名称【英文标题】:iPhone WatchKit Companion App Display Name 【发布时间】:2015-06-13 04:03:23 【问题描述】:

如果您在 >= ios 8.2 iPhone 上打开 Apple Watch 应用程序,您会得到一个应用程序列表,其中包含手表应用程序。

在哪里可以定义显示在手表应用图标旁边的名称?

【问题讨论】:

您是否检查过项目中的 Info.plist 文件? 当然可以。手表应用程序或 WatchKit 扩展目标的“捆绑显示名称”应该是正确的 Info.plist 键。但不幸的是,这不是使用的那个。 Apple dev 没有文档。 @LoVo:你有没有试过改变这个名字?如果不是,你为什么要 -1 我的问题? 在创建了一个单独的虚拟应用程序后,我发现这里使用了 iPhone“父”应用程序 CFBundleName。如果存在 CFBundleDisplayName,我将向苹果提交一份雷达请求。 @edsa-steffen 实际上我没有否决你的问题^^ 抱歉指责你 :-) 我是新来的贡献者 【参考方案1】:

据此Apple note:

iPhone AppInfo.plist 中的

CFBundleDisplayName (Bundle 显示名称) 对应于在iPhone 上查看的名称,而@987654327 中的值@ (Bundle name) 是在 WatchKitSettings 应用程序中使用的:

WatchKit 应用程序Info.plist 文件中的

CFBundleDisplayName捆绑显示名称)与 Apple Watch 本身显示的名称相关联:

【讨论】:

对我来说只有在重新启动 Xcode 后才能工作(清理没有帮助)。 对我来说这适用于本地化文件。另请参阅***.com/q/32695954/439489【参考方案2】:

它很奇怪,将来可能会改变,但它是父 iOs 应用程序的“Bundle Name”(CFBundleName),在 iOs Apple Watch Companion Application 中用作 Watch 应用程序名称。

但在 Watch 应用程序中,使用的是 Watch 应用程序的“捆绑显示名称”(CFBundleDisplayName)(与 iPhone 上相同)。

在这 2 种情况下,您可以使用 InfoPlist.strings 将它们本地化:

"CFBundleDisplayName" = "Whosnext";
"CFBundleName" = "Whosnext";

另外,如果Watch和iPhone应用程序的名称不同,您的应用程序将被拒绝。

Apple 在这里解释了这一点:https://developer.apple.com/library/ios/qa/qa1892/_index.html

【讨论】:

【参考方案3】:

Apple 文档还描述了如何在 watchkit 中提供一致的应用名称 https://developer.apple.com/library/ios/qa/qa1892/_index.html

【讨论】:

【参考方案4】:

您在 WatchKit App 目标下的 Info.plist 文件中的 Bundle Display Name (CFBundleIdentifier) 键下设置此名称

您为该键设置的值将在启动时显示并显示在用户设备上的 Apple Watch 配套应用程序中。

来源:虽然我们在模拟器中看不到此显示信息,但我知道这是设置此名称的地方,因为我的 WatchKit 应用程序因名称与商店。手表应用程序已设置为我的父应用程序的旧名称(当我添加目标时它默认为这个)。

App Review 为我提供了这些图片:

【讨论】:

是的,这有效,但仅适用于未本地化的字符串。【参考方案5】:

我有同样的问题。苹果文件says。但它不起作用!

最后我在SlideShare找到了这个:

我可以通过更改包含应用程序包名称来更改我在 Apple Watch 上的应用程序名称!

【讨论】:

以上是关于iPhone WatchKit 配套应用显示名称的主要内容,如果未能解决你的问题,请参考以下文章

在没有配套应用程序的情况下从 Apple Watch 打开 Iphone 上的浏览​​器

如何从父 iphone 应用程序触发 watchkit 应用程序?

IOS开发:WatchKit的应用程序要点

WatchKit 界面图片显示错误图片

如何在 iPhone 应用程序和 WatchKit 应用程序之间发送消息?

WatchKit 和 CoreData 的奇怪问题