【问题标题】:Is it possible to check in my iOS App whether the iMessage Extension for it has been installed?是否可以检查我的 iOS 应用程序是否已安装 iMessage 扩展程序?
【发布时间】:2017-08-21 23:59:52
【问题描述】:

每当我的应用启动时,我想在我的 iOS 应用中检查是否已安装同一应用的 iMessage 扩展。然后每隔 N 天我想提醒用户在自定义弹出警报中安装 iMessage 应用程序。

我知道我可以像这样直接链接到 iMessage 应用商店: https://itunes.apple.com/us/app/classic-mac/id1127542169?app=messages

但是我如何检测用户设备上是否已经安装了 iMessage 扩展程序?如果当前未安装,我只想显示弹出提醒。

我找不到任何可以查询的 iMessage 扩展程序的特定 URL 方案。

【问题讨论】:

    标签: ios swift imessage imessage-extension


    【解决方案1】:

    您可以使用 AppGroups 做到这一点!

    来自App Extension Programming Guide

    但是,您可以启用数据共享。例如,您可能想要 允许您的应用扩展程序及其包含的应用程序共享一个 大量数据,例如预渲染资产。

    要启用数据共享,请使用 Xcode 或开发者门户启用 包含应用程序及其包含的应用程序扩展的应用程序组。 接下来,在门户中注册应用组并指定应用组 在包含的应用程序中使用。要了解如何使用应用程序组, 请参阅将应用添加到应用组。

    启用应用组后,应用扩展及其包含的应用 都可以使用 NSUserDefaults API 来共享对用户的访问权限 喜好。要启用此共享,请使用 initWithSuiteName: 方法 实例化一个新的 NSUserDefaults 对象,传入标识符 共享组的。

    您可以在共享的 NSUserDefaults 中翻转一个布尔值来跟踪扩展的安装状态。

    【讨论】:

    • 谢谢。我最终使用了这个解决方案。
    • 当用户在 iMessage 中删除或关闭时如何翻转。你会认为 iMessage 扩展程序仍然安装?
    猜你喜欢
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2011-09-11
    相关资源
    最近更新 更多