2016-08-22 7 views
0

私は、Xcodeで自分のアプリにバックグラウンドモード(voip)機能を使用します。この機能が許可されたプロビジョニングプロファイルを使用してXcodeからアプリを構築すると、アプリが機能します。しかし、私は次のようにコマンドラインからの私のiOSアプリをビルドする:xcodebuildを使用してビルドするときに、XCodeの機能を取得するにはどうすればよいですか?

xcodebuild -workspace test.xcworkspace -scheme test -sdk iphoneos clean build archive -archivePath test.xcarchive 
xcodebuild -exportArchive -archivePath test.xcarchive -exportPath acc exportFormat ipa 

このようにIPAを構築し、iPhone上でバックグラウンドモードのVoIPは、それをインストールしたアプリではアクティブではありません。 xcodebuildでコマンドラインを使ってビルドするとき、バックグラウンドモードの機能を有効にするにはどうすればよいですか?

答えて

0
どうやら

「xcodebuild -exportArchive ...」行は-exportOptionsPlist引数を使用せずに廃止されました。 http://developer.apple.comで見つかった私の対応チームのIDで

<plist version="1.0"> 
<dict> 
    <key>teamID</key> 
    <string>734KHEMHW2</string> 
    <key>method</key> 
    <string>development</string> 
    <key>uploadSymbols</key> 
    <true/> 
</dict> 
</plist> 

:だから私はのように見えた同じディレクトリにoptions.plistを作成しました。

はその後、IPAにエクスポートするには、以下の行を使用:

xcodebuild -exportArchive -exportOptionsPlist options.plist -archivePath test.xcarchive -exportPath . 

をそして、これは正常に有効VoIP機能を持つIPAを作成しました。

0

xcodebuildの実行は、Xcodeを使用してプロジェクトを設定する方法に基づいています。私はあなたがすでにこれをやっていると仮定しています。

バックグラウンドモードについては、Info.plist(または名前を付けた名前)にUIBackgroundModes(これは生のキー)が含まれていることを確認する必要があります。

enter image description here

あなたはxcodebuildを経由してビルドすると、すべての適切な情報は、あなたのプロジェクトが正しく設定されて、拾ってしまいます。バックグラウンド実行に

詳細情報はこちら:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

+0

はい。私のInfo.plistファイルは含まれています:\t UIBackgroundModes \t \t \t のVoIP \t user2010496

+0

ちょうど明確にするため、あなたはまた、Xcodeのから同じスキームを実行していますか?同じプロビジョニングファイルを使用していますか?このようなことは、ちょっとした睡眠を必要とします。これには通常、最初にxcodeビルドの出力をxcodebuildの出力と比較することが含まれます。あなたの焦点は実際にリンク/コード署名などが発生する末尾にあるでしょう。同じように見える場合は、各.appファイル内のエンタイトルメントファイルとplistを比較してください。 –

関連する問題