Сборка Cordova не удалась с Xcode 10 на платформе iOS - PullRequest
0 голосов
/ 30 октября 2018

У меня был беспроблемный опыт работы с Cordova & IonicFramework при разработке приложения для Android, но для iOS это выглядит сложным делом ... что существует зависимость слоя от Xcode для подписи и развертывание в отличие от Android-приложений, где зависимость от Android Studio меньше, когда речь идет о развертывании и тестировании приложения, где я могу использовать ключи безопасности, сгенерированные в моем собственном платформе для подписи приложения. А в то время как для iOS-приложений без MAC или, скорее, платформы, поддерживающей XCode, разработчик гибридного приложения не может подписать и развернуть iOS-приложение, более того, кажется, что что-то ломается каждый раз, когда появляется новый выпуск XCode, например, здесь .

Помимо относительно высокой платы за подписку на разработчика Apple, такие проблемы с заземлением, вероятно, являются одной из причин, почему на рынке больше приложений для Android, чем приложений для iOS. Это может быть не по теме, однако часть проблемы, с которой я сталкиваюсь. Вот какие у меня проблемы при создании приложения cordova с iOS Xcode 10

a) сборка cordova не выполняется при выполнении команды ниже

ionic cordova buid ios --release --prod

Хотя есть обходной путь, чтобы избежать этой проблемы, как упомянуто в этом посте

Обходной путь - отключить ModernBuildSystem

ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"

Ну, это кажется честной сделкой, но есть ограничение а) Отключив так, мое приложение не может наследовать новые функции, поставляется с новым выпуском б) Невозможно создать ionic производственную сборку (точнее, я не мог найти ответ по формам до сих пор), ionic cordova build оптимизирует код с флагом --prod, тогда как в Xcode 10 этот флаг выдает ошибки компилятора. Что ж, если я не использую этот флаг оптимизации, это приведет к снижению производительности, мое гибридное приложение будет медленно работать на родной платформе (iPhone и iPad). Гибридные приложения уже известны своими недостатками производительности, и такое ограничение еще более ухудшает ситуацию.

Я также попробовал это ниже в main.js, как предложено в этом блоге , но это не имело никакого значения

enableProdMode();

б) В iOS обрыв связи между клиентом и сервером при использовании плагина WkWebView мне пришлось понизить до UIWebView, чтобы он работал, как я понимаю, под капотом движок WkWebView работает лучше, чем UIWebView, поэтому я должен выбрать это по цене производительности

Я уже публиковал этот вопрос а) в Ионическом форуме , так как это специфическая для ионики проблема

Как вы думаете, это больше блог, чем стек переполнение вопрос :) Цените свое время. И если у вас есть хороший совет или какой-либо инструмент, который я могу использовать для переноса гибридного кода -> нативный код (для iOS), пожалуйста, предложите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...