简体   繁体   English

具有WatchKit扩展名的父级应用程序是否为iOS 8及更高版本?

[英]Does parent app with WatchKit extension be iOS 8 and later?

I've got an existing iOS app, which still supports iOS 7, I would like to keep that for some time. 我有一个现有的iOS应用程序,该应用程序仍支持iOS 7,我想保留一段时间。 But I would also love to have an Apple Watch app - is it possible that the app extension for WatchKit is iOS 8 and the parent iOS is iOS 7 or do I have to lift that to iOS 8 as well? 但是我也很想拥有一个Apple Watch应用程序-WatchKit的应用程序扩展名可能是iOS 8,而父级iOS是iOS 7,还是我也必须将其提升到iOS 8?

EDIT: 编辑:

I just uploaded my build to Crashlytics because I wanted to let users test the app before submitting to Apple, one user (running iOS 7) got the error "The developer needs to upload a build that supports your device's architecture (armv7)." 我刚刚将构建文件上传到Crashlytics因为我想让用户在提交给Apple之前测试该应用程序,一个用户(运行iOS 7)收到错误消息"The developer needs to upload a build that supports your device's architecture (armv7)." Now I'm afraid that apps with the WatchKit extension don't run on older devices... Or does this have something to do with Crashlytics? 现在,我担心带有WatchKit扩展程序的应用程序无法在较旧的设备上运行...还是与Crashlytics有关? Because in the Simulator it works without problem... 因为在模拟器中它可以正常工作...

You can keep your host app at iOS 7 as long as the deployment target for your Watch app is 8.2. 只要您的Watch应用的部署目标是8.2,就可以将主机应用保留在iOS 7上。 If you use a framework in your WatchKit extension, you'll have to bump your host app to 8.0, however. 如果在WatchKit扩展中使用框架,则必须将主机应用程序升级到8.0。

You sure can continue support iOS 7 users even if you add WatchKit support. 即使添加了WatchKit支持,您也可以继续支持iOS 7用户。 This happens with every OS improvements and it's same as moving from iOS 6 to 7 which added extension (keyboard etc). 每次操作系统改进都会发生这种情况,这与从iOS 6升级到7(添加了扩展名(键盘等))相同。 ao same rules apply here. 同样的规则也适用于这里。

Things you shall know: 您应该知道的事情:

  1. The watch works only with iOS 8.2, means there would be no users that have a watch without this version 该手表仅适用于iOS 8.2,这意味着没有该版本的用户将无法拥有该手表

  2. If the host app would run on iOS 7 device the watchKit framework would be nil. 如果主机应用程序将在iOS 7设备上运行,则watchKit框架将为nil。 Which is fine but you must check that you are not using any of it's functionality. 很好,但是您必须检查自己没有使用任何功能。 meaning check if the function is there using respondWithSelector and only if it is use it. 含义是使用responseWithSelector以及仅在使用该功能时检查该功能是否存在。

  3. You would need to compile everything with iOS SDK 8.2 (some restrictions over upgrading the general software to support 64 bit/new arm etc. - anyway you would have to do that because Apple soon won't get any new apps don't) 您将需要使用iOS SDK 8.2编译所有内容(在升级常规软件以支持64位/新手臂等方面存在一些限制-不管怎样,您都必须这样做,因为Apple很快将不会获得任何新应用程序)

As Apple Watch only works from iOS 8.2 , so the user using Watch requires to have iOS >=8.2 on their iPhone . 由于Apple Watch仅在iOS 8.2 ,因此使用Watch的用户要求iOS >=8.2 on their iPhone

And for the error "The developer needs to upload a build that supports your device's architecture (armv7)." 对于错误"The developer needs to upload a build that supports your device's architecture (armv7)." it might be related to apple app submission policies reported here . 这可能与此处报告的Apple App提交政策有关。

As the first part of your question has been answered and accepted, I concentrate on the second part: 在您的问题的第一部分已得到回答并接受后,我将重点介绍第二部分:

Your Provisioning Profiles settings in the app are probably misaligned. 您在应用中的“配置文件配置”设置可能未对齐。 You need to have the correct PPs set in all 3 targets, automatic is likely to fail. 您需要在所有3个目标中设置正确的PP,自动可能会失败。

See my answer for details. 有关详细信息,请参见我的答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM