サーチ…


テストの実行

xcodebuild使用してシミュレータで単体テストを実行するには

ワークスペースがある場合( CocoaPodを使用する場合など

xcodebuild \
  -workspace MyApp.xcworkspace \
  -scheme "MyScheme" \
  -sdk iphonesimulator \
  -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.1' \
  test

プロジェクトファイルがある場合

xcodebuild \
  -project MyApp.xcproj \
  -scheme "MyScheme" \
  -sdk iphonesimulator \
  -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.1' \
  test

別のdestination値は

  -destination 'platform=iOS,id=REAL_DEVICE_UDID'
  -destination 'platform=iOS,name=IPHONE NAME'

利用可能なターゲット、スキーム、ビルド構成を一覧表示する

現在のディレクトリにプロジェクトのスキームを一覧表示するには

xcodebuild -list

必要に応じて、パスをプロジェクトまたはワークスペースファイルに渡すことができます

xcodebuild -list -workspace ./MyApp.xcworkspace
xcodebuild -list -project ./MyApp.xcodeproj

出力例

Information about project "Themoji":
    Targets:
        Themoji
        ThemojiUITests
        Unit

    Build Configurations:
        Debug
        Release

    If no build configuration is specified and -scheme is not passed then "Release" is used.

    Schemes:
        Themoji
        ThemojiUITests
        Units

スキーマのコンパイルと署名

スキーマQaのプロジェクトMyProjectで、iPhone用のコードのクリーニングとコンパイル:

xcrun xcodebuild clean \
    -workspace "MyProject.xcworkspace" \
    -scheme "YourScheme" \
    -sdk iphoneos \
    -configuration Debug \
    archive \
    -archivePath builds/MyProject.xcarchive

設定は、 DebugまたはReleaseいずれかになります。

以前にコンパイルされたコードに署名する:

xcrun xcodebuild -exportArchive \
    -archivePath builds/MyProject-Qa.xcarchive \
    -exportOptionsPlist config.plist \
    -exportPath builds

config.plistは、アプリケーションをパッケージ化して署名する方法についての情報が含まれています。開発ビルド用には、

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>method</key>
        <string>development</string>
        <key>uploadSymbols</key>
        <true/>
</dict>
</plist>

App Storeのリリースplistには次のようなものが含まれているはずです:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>teamID</key>
        <string>xxxxxxxxxxx</string>
        <key>method</key>
        <string>app-store</string>
        <key>uploadSymbols</key>
        <true/>
</dict>
</plist>

チームIDはキーチェーンから取得できます。

利用可能なすべてのパラメータ

  • compileBitcode
  • embedOnDemandResourcesAssetPacksInBundle
  • iCloudContainerEnvironment
  • manifest
  • method
  • onDemandResourcesAssetPacksBaseURL
  • teamID
  • thinning
  • uploadBitcode
  • uploadSymbols

各パラメータの詳細については、 xcodebuild --help実行してxcodebuild --help

Xcodeアプリケーションバンドル(xcrun)のコマンドラインツールにアクセスする

xcrunは、システムのデフォルトのXcodeバージョン( xcode-select )を使用して、Xcodeアプリケーションバンドル(llvm- xcode-select )からコマンドラインツールを見つけて実行します。

# Generate code coverage reports via llvm-cov 
# /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
xcrun llvm-cov [parameters]

# Execute xcodebuild 
# /Applications/Xcode.app/Contents/Developer/usr/bin
xcrun xcodebuild [parameters]

# Use Xcode's version of git, e.g., if you have installed a newer version
# /Applications/Xcode.app/Contents/Developer/usr/bin 
xcrun git [parameters]

xcode-selectでコマンドラインツールを切り替える

アクティブな開発者ディレクトリ(選択されたXcode)にパスを出力します。

xcode-select -p

別のバージョンのXcodeを選択します(例:Beta)。

sudo xcode-select -s /Applications/Xcode-beta.app

Xcodeのデフォルトバージョンにリセットする

sudo xcode-select -r

これは、 sudo xcode-select -s /Applications/Xcode.appを実行するのと同じです

詳細はman xcode-select参照してください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow