Accessing user defined variables passed in from xcodebuild command line

后端 未结 3 956
不知归路
不知归路 2021-01-01 19:01

I am running my xctests using xcodebuild and need to pass in some environment variables. In the example below ACCOUNT_ID and HOS

3条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-01 19:16

    Similar to @Paul Young I was able to get this to work, with a couple of modifications to the Scheme. Here's my solution:

    For the Scheme in Xcode (Xcode > Your Scheme > Edit Scheme > Test > Arguments tab > Environment Variables):

    Name Value ACCOUNT_ID $(ACCOUNT_ID) HOST_URL $(HOST_URL)

    In Code (Swift 3):

    let accountID = ProcessInfo.processInfo.environment["ACCOUNT_ID"]!
    let hostURL = ProcessInfo.processInfo.environment["HOST_URL"]!
    

    On the command line:

    $ xcodebuild -project YourProject.xcodeproj \
    -scheme "Your Scheme" \
    -sdk iphonesimulator \
    -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.2' \
    -derivedDataPath './output' \
    ACCOUNT_ID='An Account ID' \
    HOST_URL='www.hosturl.com' \
    test
    

提交回复
热议问题