Невозможно создать приложение tvOS с зависимостями Cocoapod с помощью xctool
У меня есть проект, который имеет небольшое количество зависимостей, управляемых с помощью Cocoapods. Я могу построить это нормально из Xcode, но когда я пытаюсь собрать его с помощью xctool или travisci, я получаю сообщение об ошибке:
xcodebuild clean VideoStationViewer
Pods / SwiftyJSON (Debug)
✗ Check dependencies (37 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Check dependencies
target 'SwiftyJSON' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1 errored, 0 warning (38 ms)
Pods / Alamofire (Debug)
✗ Check dependencies (38 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Check dependencies
target 'Alamofire' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1 errored, 0 warning (38 ms)
Pods / OHHTTPStubs (Debug)
✗ Check dependencies (40 ms)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Check dependencies
target 'OHHTTPStubs' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1 errored, 0 warning (47 ms)
Я предполагаю, что xctool использует другие параметры для сборки, чем Xcode, но не уверен, что отличается или как сказать xctool использовать эти параметры, а затем как настроить Travisci для его использования.
2 ответа
Ответ @Campbell_Souped отлично работает для проектов, предназначенных только для tvOS, но если вы попытаетесь также выполнить сборку для OS X, вы получите сообщение об ошибке, что Bitcode не поддерживается. Эта версия проверяет платформу перед включением Bitcode:
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.platform_name == :tvos || target.platform_name == :watchos then
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'YES'
end
end
end
end
Попробуйте добавить следующий фрагмент в конец вашего Podfile, затем выполните pod install
:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'YES'
end
end
end