【问题标题】:Does parent app with WatchKit extension be iOS 8 and later?带有 WatchKit 扩展的父应用程序是 iOS 8 及更高版本吗?
【发布时间】:2015-04-04 12:21:29
【问题描述】:

我有一个现有的 iOS 应用程序,它仍然支持 iOS 7,我想保留一段时间。但我也很想拥有一个 Apple Watch 应用 - WatchKit 的应用扩展是否可能是 iOS 8 而父 iOS 是 iOS 7,还是我也必须将其提升到 iOS 8?

编辑:

我刚刚将我的构建上传到Crashlytics,因为我想让用户在提交给Apple之前测试应用程序,一位用户(运行iOS 7)收到错误"The developer needs to upload a build that supports your device's architecture (armv7)."现在我担心带有WatchKit扩展的应用程序不要在旧设备上运行...或者这与 Crashlytics 有关吗?因为在模拟器中它可以正常工作...

【问题讨论】:

    标签: ios watchkit


    【解决方案1】:

    只要您的 Watch 应用的部署目标是 8.2,您就可以将主机应用保持在 iOS 7 上。但是,如果您在 WatchKit 扩展中使用框架,则必须将主机应用升级到 8.0。

    【讨论】:

    • 如果我使用共享的“Cocoa Touch Framework”,这是否也适用?我该如何测试呢?如果应用在 iOS 7 模拟器中成功运行,我可以假设一切正常吗?
    • 是的,你可以假设。您可以通过在设备上运行您的应用程序来测试它。虽然 Crashlytics 分发对错误的 PP 非常挑剔,但您可以通过 iTunes 进行 adHoc 构建和安装 - 通常即使您的 WatchKit 应用程序使用错误的 PP(在 iOS7 设备上甚至更好,因为 WatchKit 将被忽略)
    【解决方案2】:

    即使您添加了 WatchKit 支持,您肯定可以继续支持 iOS 7 用户。每次操作系统改进都会发生这种情况,这与从 iOS 6 迁移到添加扩展(键盘等)的 7 相同。同样的规则也适用于此。

    你应该知道的事情:

    1. 手表仅适用于 iOS 8.2,意味着没有此版本的手表将没有用户

    2. 如果宿主应用程序将在 iOS 7 设备上运行,那么 watchKit 框架将为 nil。这很好,但你必须检查你没有使用它的任何功能。意思是使用respondWithSelector检查函数是否存在并且仅当它被使用时。

    3. 您需要使用 iOS SDK 8.2 编译所有内容(升级通用软件以支持 64 位/新 arm 等的一些限制 - 无论如何您都必须这样做,因为 Apple 很快不会获得任何新的应用程序不会)

    【讨论】:

    • 好的,这意味着如果模拟器中的一切正常(iOS 8.2 上的 Apple Watch 和 iOS 上的 iOS 应用程序 >= 7)我可以开始了吗?
    • 是的,你应该没问题。如果它在模拟器中运行并且您仍有疑问,请创建一个存档并验证它。
    【解决方案3】:

    由于 Apple Watch 只能在iOS 8.2 下工作,所以使用 Watch 的用户需要有iOS >=8.2 on their iPhone

    对于错误"The developer needs to upload a build that supports your device's architecture (armv7).",它可能与here报告的苹果应用提交政策有关。

    【讨论】:

      【解决方案4】:

      由于您的问题的第一部分已被回答并接受,我专注于第二部分:

      您在应用中的 Provisioning Profiles 设置可能未对齐。您需要在所有 3 个目标中设置正确的 PP,自动可能会失败。

      详情请见我的answer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多