Работают ли приложения Xcode 8 Swift 3 на iOS 7 успешно?

Работают ли приложения Xcode 8 Swift 3 на iOS 7 успешно?

Я попытался определить это, выполнив несколько тестов, описанных ниже, но может ли эксперт, который лучше понимает разработку App Store, помочь объяснить причины успехов и неудач, включая приведенные ниже вопросы?

Тест 1

Итак, я открыл Xcode 7.3.1 и создал приложение с Swift 2.2. Я собираюсь развернуть приложение с iOS 7 до iOS 10.

Я успешно запустил приложение на симуляторе iPhone iOS 9.3, а затем успешно запустил приложение на реальном устройстве iPhone iOS 7.1.2.

Тест 2.

Затем я взял тот же проект и открыл его в Xcode 8 Beta 2. (Мне было предложено обновить до Swift 2.3 или Swift 3. Я обновляюсь до Swift 2.3, а затем до Swift 3.)

После ввода iOS Target Deployment как 7.0 вручную я успешно запустил приложение на симуляторе iPhone 10 Beta 2 для iPhone. Однако затем я пытаюсь запустить приложение на реальном устройстве iPhone с iOS 7.1.2, но на этот раз безуспешно, отображается ошибка ниже. Я повторяю тест со Swift 2.3 и Swift 3 с той же ошибкой:

Не удалось найти файлы поддержки устройства

Этот iPhone 4S работает под управлением iOS 7.1.2 (11D257), котораяможет нет поддерживаться этой версией Xcode.

Тест 3

Итак, затем я пытаюсь установить файл приложения .ipa, созданный в Xcode 8 Beta 2, непосредственно на фактическое устройство iOS 7.1.2 iPhone через iTunes после получения архива приложения (Product> Archive…).

После завершения передачи файла приложения .ipa на устройство iPhone iOS 7.1.2 через iTunes я запускаю приложение на реальном устройстве, на этот раз с успехом.

Результаты.

Вопросы:

Что я могу сделать из всех результатов тестирования в таблице выше?

Важно отметить, что когда приходит время распространять приложение через App Store, созданный в Xcode 8 с помощью Swift 3, можно ли ожидать, что приложение, успешно установленное через iTunes на устройстве iOS 7.1.2 iPhone, все равно будет совместимо для все устройства iOS 7 при загрузке в App Store?

Xcode 7.3.1 позволяет устройствам от iOS 7 до iOS 9 для тестирования и отладки в процессе разработки?

Xcode 8 не позволяет устройствам iOS 7 для тестирования и отладки в процессе разработки, но все же позволяет развертывать приложения на устройствах iOS 7?

В чем смысл Swift 2.3 как промежуточного шага для Swift 3?

 Rob16 июл. 2016 г., 21:13
Вы должны попытаться ограничиться одним вопросом за один раз.
 Shaikh Sonny Aman27 янв. 2017 г., 11:48
Я бы хотел, чтобы сам вопрос был поставлен на голосование! Спасибо за матрицу результатов, действительно полезно!
 Rob16 июл. 2016 г., 21:19
Re Swift 2.3,Что нового в Swift сказал: «Если вы не совсем готовы перейти к Swift 3, Swift 2.3 - это просто Swift 2.2, который работает с новыми SDK, хорошо, и мы будем принимать заявки в магазине приложений, как с Swift 3, так и с 2.3, но вы Следует помнить, что в XCode есть некоторые очень важные функции, которые зависят от Swift 3, такие как Playgrounds и Documentation, а также новые функции, такие как Thread Sanitizer. "

Ответы на вопрос(2)

УвидетьСовместимость Swift 3 с iOS, Гарантированная поддержка iOS 8, не уверен насчет iOS 7. См.этот ответ на Swift 2 и iOS 7. В последнем комментарии говорится, что Apple, вероятно, не хочет, чтобы вы нацеливались на iOS 7 в любом случае. Если это не сработает, вероятно, проблема не в Swift, а в Xcode, который говорит «нет».

Что я могу сделать из всех результатов тестирования в таблице выше?

Я не уверен, что вы имеете в виду здесь.

Важно отметить, что когда приходит время распространять приложение через App Store, созданный в Xcode 8 с помощью Swift 3, можно ли ожидать, что приложение, успешно установленное через iTunes на устройстве iOS 7.1.2 iPhone, все равно будет совместимо для все устройства iOS 7 при загрузке в App Store?

Вероятно, никогда не безопасно ожидать, что вы пытаетесь обойти Xcode.

Xcode 7.3.1 позволяет устройствам от iOS 7 до iOS 9 для тестирования и отладки в процессе разработки?

А также? Xcode 8 нет. iOS 7 - iOS 9 - две версии, iOS 8 - iOS 10 - две версии.

В чем смысл Swift 2.3 как промежуточного шага для Swift 3?

Поскольку Swift 3 является таким важным прыжком из Swift 2.2, они предоставляют Swift 2.3, если вы еще не готовы перейти к Swift 3. Тем не менее, они рекомендуют перейти на Swift 3. Swift 3 также позволяет получить доступ к некоторым новым функциям.

. Конкретно я быне Предположим, только потому, что он работает на iOS 7, он гарантированно работает на iOS 7. Похоже, что он гарантирует только поддержку iOS 8+.

Кроме того, Apple обычно рекомендует поддерживать только одну версию iOS. А также,по состоянию на 9 маятолько 5% устройств работают под управлением iOS 7 или более ранней версии (и это, вероятно, будет еще меньше к моменту выхода iOS 10).

 Rob16 июл. 2016 г., 22:30
Все в порядке. Кстати, это не 5% при использовании iOS 7. Это 5% при использовании iOS 7или ранее. Это может включать в себя все это аппаратное обеспечение, установленное в более ранних версиях iOS (например, у меня есть несколько касаний iPod, заблокированных в версиях iOS 6 и более ранних версий). В iOS 7 заблокировано очень мало устройств (например, iPhone 4, но не 3GS или 4s). В итоге, доля рынка iOS 7 может быть намного меньше 5%. И вы должны взвесить это в сравнении с дополнительными затратами на разработку и / или потерянной функциональностью приложения. Но, конечно, это ваш звонок.
 user480650916 июл. 2016 г., 21:57
Спасибо, Роб. «5% устройств работают под управлением iOS 7 или более ранних версий» - это еще много устройств. Я предпочитаю сделать приложение доступным для тех пользователей, которые хотят его запустить, но не могут или не могут обновить его до новой версии iOS. Решение перейти на Swift 3 и, возможно, оставить iOS7 позади (особенно во время тестирования), я еще не решил.
 jc100127 сент. 2016 г., 13:25
Чтобы обойти сценарии, где выиметь для отладки приложений на iOS 7 из Xcode 8, после обновления для преобразования в Swift 2.3, я обнаружил, что вы можете развернуть на устройствах iOS 7 путем символической ссылки на старые файлы поддержки из Xcode 7.3.1, например: sudo ln -s / Applications / Xcode.7.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.* /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

Ваш ответ на вопрос