2015-02-09 5 views
0

Я пытаюсь создать демо-версию PhoneRTC на IOS после того, как вы ее заработаете на Android и веб-браузере (OS X 10.10.2 Yosemite, XCode 6.1.1, Cordova 4.2 .0 и мой iPad работает под управлением iOS 8.1). . Мой IPad подключен я следовал инструкции по установке для IOS:Кордова игнорирует указанную архитектуру при построении на IOS

  1. В общем, изменить Deployment Target 7.0 или выше
  2. Перейти Построить настройки и изменения:

    • а. Действительные архитектуры => armv7
    • b. Только построение активной архитектуры => Нет
    • c. Пути поиска пути Путь => $ (унаследованный) @ исполняемый_path/Frameworks
    • d. Objective-C Bridging Header => [ProjectName] /Plugins/com.dooble.phonertc/Bridging-Header.h
    • e. Встроенный контент содержит Swift Code => да

я повторил шаги 4а. - 4с. для проекта CordovaLib.

Когда я запустил cordova build ios, сборка не удалась. В консоли я вижу это:

Build settings from command line: 
ARCHS = i386 
CONFIGURATION_BUILD_DIR = /Users/Francis/Desktop/PhoneRTC/PhoneRTC/platforms/ios/build/emulator 
SDKROOT = iphonesimulator8.1 
SHARED_PRECOMPS_DIR = /Users/Francis/Desktop/PhoneRTC/PhoneRTC/platforms/ios/build/sharedpch 
VALID_ARCHS = i386 

Это, по-видимому, указывает на то, что кордова игнорирует действительные архитектуры, которые я только что указал. Я попытался перезагрузить свой компьютер и мой iPad, но это не помогло. cordova build ios --archs="armv7" тоже не работает.

Работа в XCode работает, но это не то, что я хочу, так как он пропускает процесс сборки cordova.

Любая идея, как сказать/заставить Кордову строить против архитектуры (armv7), которую я указал?

+0

Используйте 'Cordova prepare', а затем строить из' xcode'. Это общий путь сборки для пользовательских требований к настройке iOS. –

+0

Да, это исправило мою проблему! И вы помогли мне лучше понять процесс сборки кордоны одновременно. Благодаря! –

+0

Добавьте это как ответ другим, чтобы найти. –

ответ

0

Мое предложение состоит в том, чтобы использовать cordova prepare, а затем построить из Xcode.

cordova prepare копирует файлы и настройки конфигурации, но не изменяет собственный код или не запускает стандартный процесс сборки.

Это общий путь построения, который я использовал со всеми моими проектами iOS/Cordova и, кажется, хорошо работает.

0

Согласно этому SO answer это решение (работал для меня)

При создании можно указать, какой тип телосложения сделать:

cordova compile --device 

или для i386:

cordova compile --emulator 
1

Использовать конфигурационный файл xcconfig

Во время автоматической сборки я создаю файл после того, как скрипт сборки добавляет платформу iOS:

echo 'ARCHS = armv7 arm64' >> $ {CURR_DIR}/platform/ios/cordova/build-release.xcconfig

Отрывок из бревен сборки:

> cordova build ios --device --release 

... 
Build settings from configuration file '/Users/xxx/git/xxx/platforms/ios/cordova/build-release.xcconfig': 
     ARCHS = armv7 arm64 
     CODE_SIGN_IDENTITY = XXXX 
     ENABLE_BITCODE = true 
     PROVISIONING_PROFILE = XXXX 
     VALID_ARCHS = armv7 arm64
Смежные вопросы