web-dev-qa-db-ja.com

シミュレーター用のfastlaneでアプリファイルを作成する方法

次に別のコンピューターのシミュレーターにドラッグアンドドロップできるfastlane.appファイル(または動作する場合は.ipaファイル)を使用して作成する必要があります。ジムまたはxcodebuildパラメーターを使用して試しましたが、方法がわかりません。

今のところ私はこのようにそれをします:

  • XCodeでシミュレータ用のアプリケーションを構築します

  • 次に、DerivedData(〜/ Library/Developer/XCode/DerivedData/Build/Products/Debug-iphonesimulator /)でアプリファイルを検索しています

  • このファイルを別の場所にコピーします

しかし、私はfastlaneでそれを行う必要があります。

15

fastline repoの問題 にあるように、ジムでそれを行うことができますが、xcodebuild(例)を使用した方が良いかもしれません。

xcodebuild -configuration Debug -target targetname -Arch i386 -sdk iphonesimulator10.3

~/Library/Developer/Xcode/Archives/<date>(または-archivePathで指定した場所)を検索するよりも、内部はxcarchiveになります。

  1. Finderで.xcarchiveファイルに移動します
  2. .xcarchiveファイルを右クリックし、ポップアップメニューで[パッケージの内容を表示]を選択します
  3. Finderは、.xcarchiveファイルの内容の表示に切り替わります。
  4. 製品/アプリケーションに移動します
  5. あなたの.appはProducts/Applicationsにあります

から ここ


ここに答えがあります 、それはあなたを助けます。


UPDATE:コマンドラインからアプリファイルを取得する必要がある場合は、次のようにすることができます。

mv /YourXCArchiveLocation/archive.xcarchive/Products/Applications/AppName.app /YourDesiredLocation/AppName.app
5
Samuel Tulach

これは私が使用するレーンです:

lane :generate_test_app do
    xcbuild(
        workspace: "MyApp.xcworkspace",
        scheme: "MyApp",
        configuration: "Debug",
        xcargs: "-sdk iphonesimulator SYMROOT='/var/tmp/'"
    )
end

アプリは/var/tmp/Debug-iphonesimulator/MyApp.appのままになります

参照: コマンドラインからプロジェクトをビルドするにはどうすればよいですか?

5
AlejandroVD

私はbuild_appでこれを行うことができました:

build_app(
        scheme: scheme,
        workspace: workspace,
        configuration: build_configuration,
        derived_data_path: output_path,
        skip_package_ipa: true,
        skip_archive: true,
        destination: "generic/platform=iOS Simulator"
    )

ジムを利用したいのであれば、それをベースにできると思います。

2
Tomasz Wronka

トリッキーな部分は、.appディレクトリを見つけることです。これが私が使用するものです:

Dir.mktmpdir do |dir|
  xcbuild(
    workspace: "#{project_name}.xcworkspace",
    scheme: "#{project_name}",
    configuration: "Debug",
    xcargs: "-sdk iphonesimulator SYMROOT=#{dir}"
  )
  app_path = sh("find #{dir} -name *.app -type d").strip()
  sh("mv #{app_path} #{options[:output_directory]}/#{app_identifier}.app")
end
1
Blago

私は日常生活でfastlaneを使用しています。

とても簡単です。 fastlaneをインストールし、他の作業を行う前に必ず最新バージョンに更新してください。

まず、アプリのフォルダー内で_fastlane init_を実行する必要があります。

次に、ターゲットのビルド設定で、適切なプロビジョニングプロファイルと証明書(リリース用のAdHocまたはAppStoreのものなど)があることを確認する必要があります。

次に、プロジェクトのフォルダーで次のコマンドを実行するだけです。

_gym —workspace "WORKSPACE_NAME.xcworkspace" —scheme "SCHEME_NAME" -n "IPA_FILE_NAME"_

シミュレータービルドの場合、_export_options "./ExportOptions.plist"_パラメーターを専用のエクスポートオプション_.plist_ファイルで使用するか、次のように専用のGymfile内で使用できます。

export_options( method: "ad-hoc", manifest: { appURL: "https://example.com/My App.ipa", }, thinning: "<thin-for-all-variants>" )

xcodebuildと同じパラメータを使用するため、問題ないはずです。たとえば、_-archivePath_ファイルの代わりにアーカイブが必要な場合は、_-exportArchive_および_.ipa_オプションを渡すことができます。

0