将应用程序与消息扩展关联

Posted

技术标签:

【中文标题】将应用程序与消息扩展关联【英文标题】:Associate App with Messages Extension 【发布时间】:2016-07-25 14:19:28 【问题描述】:

我使用适当的模板在 Xcode 8 中创建了一个消息扩展,它似乎工作正常,当我运行扩展时,它已安装在消息应用程序中,我可以毫无问题地使用它。

我的问题是我想创建一个与此扩展相关联的实际应用(以便用户能够通过 Messages Store 搜索扩展或通过 App Store 安装实际应用)。我给了它一个匹配的包标识符(我的扩展是 com.XXX.testmessage.MessagesExtension,所以我为应用设置了 com.XXX.testmessage),但是当我运行应用时,它没有安装扩展。

有可能做到吗?如果是这样,我错过了什么?

【问题讨论】:

【参考方案1】:

在 XCode8 中,打开您现有的应用程序。然后您需要向您的应用程序添加一个新目标(文件->新建->目标->ios->贴纸包扩展(如果您想要自定义消息体验,则需要一个 iMessage 扩展))。然后它将创建一个在 Project Navigator 中可见的文件夹。文件夹的名称取决于您为扩展指定的名称。在该文件夹中,您会找到一个 Stickers.xcassets,您可以在其中放置您的贴纸。

【讨论】:

如果用户有你的应用,仍然有 iOS9 并且新的应用版本包含贴纸,会发生什么?是否存在兼容性问题? 您还知道,在用户更新后,该应用程序是否会简单地可供他们使用,或者该部分需要什么? 如果他们在 iOS9 上,他们就不能使用贴纸。关于你的第二个问题,我没看懂。当您说“用户更新”时,您是指更新应用程序,还是更新到 iOS10?如果是后者,并且用户已经更新了应用程序,那么他们应该可以使用贴纸 谢谢,答案差不多了。我的困惑在于两件事。首先,使用普通代码,如果我添加旧 iOS 上不可用的功能,当使用旧 iOS 的用户运行我的应用程序时,除非我编写了一些安全展开等代码,否则会导致错误。所以问题是,会添加贴纸会给仍在使用早期 iOS 的用户带来问题。其次,我是否需要进行任何编码以显示贴纸或现在扩展程序存在,它是自动的吗? 对于贴纸扩展,它似乎是自动的(因为它主要是拖放图像来完成贴纸扩展)。因此,Apple 可能正在处理这些事情。

以上是关于将应用程序与消息扩展关联的主要内容,如果未能解决你的问题,请参考以下文章

如何将应用程序与文件类型(文件扩展名)关联起来?

如何使用 .desktop 文件(在 linux 下)将文件扩展名与应用程序相关联?

将特定的文件扩展名与我的 delphi 应用程序相关联 - 有任何库吗?

Windows 7文件扩展名关联

将文件类型与 Chrome 打包应用程序相关联

cpack:如何在安装过程中将程序与文件扩展名关联?