Вопрос:

iOS 10 и swift 3 вопросы о конвертации

swift3 ios10 xcode8

690 просмотра

2 ответа

241 Репутация автора

Это моя первая настоящая встреча с обновлением моего кода до новой версии iOS и серьезным изменением кода, таким как Swift 3. Я хотел бы получить некоторую информацию относительно хорошей практики и стандартных процедур в отношении этих тем.

Прежде всего, я должен подождать, пока Xcode 8 будет полностью выпущен, прежде чем пытаться конвертировать мой код в Swift 3? Похоже, что с появлением бета-версий функция преобразования кода становится более умной и точной. Кроме того, безопасно ли редактировать внутри бета-версии IDE?

Во-вторых, мое приложение отлично работает на iOS 9 и работает отлично. Однако в iOS 10 элементы пользовательского интерфейса работают (меняются местами, не обновляются) и зависают в определенном месте, что не заметно в iOS 9. Это связано с изменением имен функций, которые будут обновлены в iOS 10? Кроме того, будут ли исправлены некоторые из этих ошибок, когда бета-версии исправлены?

Спасибо за вашу помощь!

Автор: Matt Butler Источник Размещён: 22.08.2016 08:59

Ответы (2)


1 плюс

326523 Репутация автора

Решение

Совет в основном такой же, как и для всех бета-версий Xcode: рассматривайте бета-версии Xcode (особенно Swift 3) как «песочницу», в которую вы можете играть, но не конвертировать производственные проекты. Или, точнее, не стесняйтесь конвертировать его, чтобы вы могли играть в своей песочнице, чтобы быть готовым к выходу Swift 3 из бета-версии, но делайте это, зная, что текущая бета-версия Swift 3 подвержена дальнейшим изменениям. Убедитесь, что вы сохраняете свой существующий производственный код / ​​проекты, пока Xcode 8 не выйдет из бета-версии). Никогда не планируйте, что сможете открыть проект Swift 3 в Xcode 7.x. Сохраняйте код Swift 3 и оригинальные проекты Swift 2.x полностью отделенными.

Что касается вашего приложения iOS 9 на iOS 10, я удивлен, что вы видите проблемы с вашим приложением iOS 9 (особенно с iOS 10 beta 7), потому что большинство этих изломков уже проработано. Если что-то работает не так, то это небольшой случай, потому что наиболее хорошо написанный код iOS 9 без проблем работает с iOS 10. Существуют изменения API, но приложение, созданное для iOS 9, в целом работает нормально на устройстве iOS 10. , Есть очень мало вещей, которые могли бы привести к таким визуальным артефактам / ошибкам, которые вы описываете. У вас проблемы, вы должны опубликовать новый вопрос в MCVE, иллюстрирующий проблему.

Автор: Rob Размещён: 22.08.2016 10:38

0 плюса

29 Репутация автора

Учитывая ваш вопрос, я укажу некоторые вещи, с которыми я столкнулся. Я бы сохранил копию кода Swift 2.2 в исходном формате, это может показаться очевидным, но это то, что мне помогло, поэтому я выкладываю его там. Одна конкретная проблема, с которой я столкнулся, была «Поток 1: сигнал SIGABRT», выполняющий мой преобразованный код. Я просто удалил свои объектные соединения в раскадровке, в данном случае объект UIButton, и после преобразования восстановил их, и ошибка исчезла. Я все еще работаю над преобразованием кода, поэтому, когда я что-то найду и исправлю, я добавлю к своим постам. Я бы посоветовал, если при конвертации вы получите что-то конкретное, просто задайте другой вопрос и опубликуйте его. Это делает вещи простыми.

Автор: gosborne3 Размещён: 23.02.2017 02:44
32x32