«Firebase_VERSION не определен: добавьте -DFirebase_VERSION = ... к вызову сборки» - PullRequest
0 голосов
/ 25 апреля 2019

Я использую плагин fastlane (aws_device_run_ios) для запуска теста в ферме устройств в aws, но при запуске команды fastlane возникает какая-то ошибка, не связанная с AWS , связанная с firebase Я думаю, я также использую Firebase в проекте

Я не нашел никакого решения, которое может мне помочь, это ошибка, которую я получил

❌ /Users/admin/Desktop/MyIOSApp/Pods/FirebaseCore/Firebase/Core/FIRVersion.m:18:2: «Firebase_VERSION не определен: добавьте -DFirebase_VERSION = ... в вызов сборки»

ошибка "Firebase_VERSION не определен: добавьте -DFirebase_VERSION = ... к вызову сборки"

^

❌ /Users/admin/Desktop/MyIOSApp/Pods/FirebaseCore/Firebase/Core/FIRVersion.m:22:2: «FIRCore_VERSION не определено: добавьте -DFIRCore_VERSION = ... в вызов сборки»

ошибка "FIRCore_VERSION не определена: добавьте -DFIRCore_VERSION = ... к вызову сборки"

^

этот подфайл выглядит так:

# Pods for MyIOSApp
pod 'Alamofire', '~> 4.7'
pod 'RSFloatInputView'
pod 'SkyFloatingLabelTextField', '~> 3.0'
pod 'SwiftyJSON'
pod 'SwiftKeychainWrapper'
pod 'Firebase/Core'
pod 'Fabric', '~> 1.9.0'
pod 'Crashlytics', '~> 3.12.0'

target 'MyIOSAppTests' do
    inherit! :search_paths
    pod 'Firebase/Core'
    # Pods for testing
end

target 'MyIOSAppUITests' do
    inherit! :search_paths
    pod 'Firebase/Core'
    # Pods for testing
end

и это мой fastfile:

lane :aws_device_run_ios do
ENV['AWS_ACCESS_KEY_ID']     = '******'
ENV['AWS_SECRET_ACCESS_KEY'] = '******'
ENV['AWS_REGION']            = 'us-west-2'
#Build For Testing
xcodebuild(
scheme: 'MyIOSApp',
destination: 'generic/platform=iOS',
configuration: 'Release',
derivedDataPath: 'aws',
xcargs: "GCC_PREPROCESSOR_DEFINITIONS='AWS_UI_TEST' 
ENABLE_BITCODE=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build-for-testing"
)
# Transform .app into AWS compatible IPA
aws_device_farm_package(
derrived_data_path: "aws",
configuration: "Release"
 )
 # RUN tests on AWS Device Farm
aws_device_farm(
device_pool:      "DeviceIOS"
)
end

как решить эту ошибку, в сообщении об ошибке сказано, что добавить - DFirebase_VERSION = ... Я не знал, как и где это сделать ?! Пожалуйста, помогите спасибо заранее

1 Ответ

1 голос
/ 28 апреля 2019

Похоже, что fastfile переопределяет параметры GCC_PREPROCESSOR_DEFINITIONS для сборки модуля FirebaseCore."GCC_PREPROCESSOR_DEFINITIONS": "FIRCore_VERSION=5.4.1 Firebase_VERSION=5.20.0" из https://github.com/CocoaPods/Specs/blob/master/Specs/8/b/d/FirebaseCore/5.4.1/FirebaseCore.podspec.json#L42.

Я не знаю много о фастлэйне, но xcargs, вероятно, не то место, где можно добавить GCC_PREPROCESSOR_DEFINITIONS='AWS_UI_TEST'.Он должен быть настроен для построения цели модульного теста, а не настройки, влияющей на все цели в приложении.

...