如何将父应用程序添加到现有的独立 iMessage 应用程序

How to add a parent app to existing standalone iMessage application

我最近构建了一个新的 iOS 10 iMessage 应用程序。最初,我认为我只需要构建一个独立的 iMessage 应用程序,所以我使用了 XCode 模板来完成它。现在的问题是我已经意识到你不能从 iMessage 应用程序中打开外部 url,而只能从它的父应用程序中打开。所以现在我想添加一个父应用程序,但我不知道什么是最好的方法。

iMessage 应用程序模板带有父目标,但它的设置方式似乎与普通 iOS 应用程序的设置方式不同(即没有为其设置方案,缺少构建阶段, ETC。)。我已经尝试将应用程序添加到 XCode 项目,但我无法让它与已经创建的扩展一起工作。

有人知道在启动独立 iMessage 应用程序后创建父应用程序的最佳方法吗?任何帮助我指出正确方向的帮助将不胜感激。

我也想为我的应用程序执行此操作。最好的办法是在项目中创建一个新的 iOS 应用程序目标,并为此创建一个 iMessage 应用程序目标。然后您可以设置这个新目标以使用您现有的代码。

但是,如果您已经将独立的 iMessage 应用程序发布到 App Store,请务必注意:我得到的消息是,在这种情况下,您以后无法更改它以拥有父应用程序。

如果是这种情况,您需要在 iTunes Connect 中创建一个新的应用程序条目,并可能更新您当前的仅 iMessage 应用程序,以便将共享的应用程序组容器用于您需要迁移到的任何数据新应用。

这里有一个答案描述了爬上响应链以从键盘扩展打开 URL:

我可以确认此方法适用于 iOS 10 的独立 iMessage 应用程序。

我还担心这种方法不会通过 iTunes 商店提交,因为它绕过了标准行为,但我也可以确认我们的独立 iMessage 应用程序通过了提交。

对于那些特别想知道是否可以将仅 iMessage 应用程序更改为具有 iMessage 扩展程序的应用程序的人您提交到 App Store 之后,答案是是没有。

苹果相关声明如下:

Can I update my standalone iMessage app or sticker pack to an iOS app with an iMessage or sticker pack extension? No, this is not possible once the app is live on the App Store.

来源:Apple FAQ