2017-02-01 9 views
9

Potrzebuję utworzyć z pliku .app (.ipa, jeśli działa), który mógłbym następnie przeciągnąć i upuścić do symulatora na innym komputerze. Próbowałem to zrobić z siłownią lub z parametrami xcodebuild, ale nie wiem jak to zrobić.Jak utworzyć plik aplikacji z Fastlane na symulatorze

Na razie robię to w ten sposób:

  • w Xcode zbudować aplikację na symulatorze

  • Następny szukam aplikacji plik w DerivedData (~/Library/Developer/XCode/DerivedData/Budowanie/Produkty/Debug-iphonesimulator /)

  • skopiować ten plik gdzieś indziej

Ale potrzebuję zrobić to z Fastlane.

+0

Dlaczego tego potrzebujesz? Nie możesz po prostu zbudować aplikacji na innym komputerze? – Losiowaty

+0

Nie. Klient mieszka w innym kraju, nie mogę też podać mu kodu źródłowego. Udostępniam mu plik aplikacji na symulator, testuje na symulatorze, a następnie wysyłam aplikację do sklepu z aplikacjami. Działa idealnie, ale potrzebuję zautomatyzować ten proces. –

+0

Dlaczego testuje na symulatorze? Czy nie byłoby lepiej, gdyby testował na prawdziwym urządzeniu? Następnie możesz użyć TestFlight/Fabric/Bitrise/innych usług, które umożliwiają dokładnie to. – Losiowaty

Odpowiedz

5

Jak można znaleźć w issues at fastline repo, można zrobić to z siłowni, ale być może, że będzie lepiej, jeśli używasz xcodebuild (przykład):

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

niż szukać ~/Library/Developer/Xcode/Archives/<date> (lub gdzie można określić z -archivePath), a wewnątrz będzie xcarchive.

  1. Przejdź do pliku .xcarchive w Finderze
  2. prawym przyciskiem myszy na pliku i wybierz „.xcarchive Show Package Zawartość” w menu podręcznym
  3. Wizjer przełączy się na pokazywanie zawartości katalogu Plik .xcarchive .
  4. Przejdź do produktów/Aplikacje
  5. Twój .app będą zlokalizowane w Produkty/Aplikacje

Od here.


Here is answer, które pomogą.


UPDATE: Jeśli trzeba uzyskać plik aplikacji z wiersza poleceń można zrobić coś takiego:

mv /YourXCArchiveLocation/archive.xcarchive/Products/Applications/AppName.app /YourDesiredLocation/AppName.app 
+0

Jest podobny do budowania aplikacji z XCode. Chciałem dodać plik aplikacji budowlanej do skryptu Fastlane. Próbowałem zrobić to również z siłownią, ale miałem problemy: https://github.com/fastlane/fastlane/issues/8081. Nie wiem, jak to zrobić z siłownią. –

+0

@PiotrWasilewicz fastline używa Ruby więc spróbuj zaimplementować 'exec' lub' system', aby uruchomić * xcodebuild *. –

+0

To nie jest takie proste (nie znam Rubiego), ale może masz rację ... Z -archivePath mogę podać dowolną ścieżkę (poza ~/Library)? –

0

używam fastlane w moim codziennym życiu.

To naprawdę proste. Zainstaluj fastlane i upewnij się, że zaktualizowałeś ją do najnowszej wersji, zanim zrobisz cokolwiek innego. Najpierw musisz uruchomić fastlane init w folderze aplikacji.

Następnie musisz upewnić się, że w ustawieniach kompilacji dla twojego celu masz odpowiednie profile i certyfikaty (na przykład AdHoc lub AppStore do wydania).

Wtedy po prostu trzeba uruchomić to polecenie w folderze Twojego projektu:

gym —workspace "WORKSPACE_NAME.xcworkspace" —scheme "SCHEME_NAME" -n "IPA_FILE_NAME"

Dla symulator buduje, można użyć export_options "./ExportOptions.plist" parametr z dedykowaną opcje eksportu .plist pliku lub wewnątrz dedykowany Gymfile jak to:

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

wykorzystuje te same params jako xcodebuild ma, więc powinieneś być w porządku. Na przykład możesz podać opcje -archivePath i -exportArchive, jeśli potrzebujesz archiwum zamiast pliku .ipa.

+0

Nie potrzebuję pliku Ipa –

+0

@PiotrWasilewicz To również wygenerowałoby archiwum w Xcode, ale Nie próbowałem bezpośrednio ingerować w archiwum. Zaktualizowałem swój post, zobacz nową wersję. –

+0

'xcodebuild -configuration Debugowanie -nazwę docelową -schemat nazwa schematu -arch i386 -sdk iphonesimulator10.3' poda plik aplikacji, ale w niewłaściwym miejscu. Dlaczego muszę archiwizować? –

Powiązane problemy