Ios alkalmazások indítása a konzolról a készüléken és a szimulátoron

Az iOS alkalmazásokat a konzolról indítjuk az eszközön és a szimulátoron +12

- ugyanaz, mint Forbes, csak jobb.

A cikk röviden leírja, hogyan készíthet egy alkalmazást konzolparanccsal, és futtathat egy valós eszközön és szimulátoron, anélkül, hogy erre szükség lenne xcode megnyitására.

Általánosságban érdemes kezdeni azzal a ténnyel, hogy cégem egy ios fejlesztési részlegből áll, amely> 10 emberből áll, akik egy alkalmazáscsomagra dolgoznak. A rutin munkájának automatizálása érdekében telepítettük a CI kiszolgálót (mindaddig, amíg az önállóan íródott, különleges történelmi okokból (mint mindenki másnak) tervezik a jenkinsre való migrációt). A rutinszerű dolgokra gondolok - a projektek összeszerelésére, a tesztek elindítására (ha természetesen írsz), az Ipasks tesztelőinek létrehozására és az app store-ban való értékelésre. Általában szeretnék rákattintani a gitára vagy a kampóra. Bár mindannyian a fejlesztő által egy gombnyomással dolgozunk, ez csak a tervekben van. Ebben a cikkben csak a projekt összeállítása és az ipa-fájlba csomagolás témája lesz. A CI szerver oldalán lévő eszközökkel kapcsolatos projektek elindításának működőképessége még fejlesztés alatt áll, de maga a csomagolási folyamat már régóta a "csata" alatt áll, valaki hasznos lehet.

  • fordítsa le az alkalmazást, és futtassa azt a szimulátoron
  • összegyűjteni az ipa-t, és futtatni egy valós eszközön
  • összegyűjtjük az ipa-t, hogy kiállítsuk a piacot
  • egy kis összeszerelési hiba keletkezik

Van:
  • OS X 10.10.5
  • Xcode 7.1

A kísérlet gyakoriságára harmadik féltől származó alkalmazást használunk, hogy a kedves olvasók megismételhessék a cikkben leírtakat. Használjuk a tesztalkalmazást a nyílt forráskódú Apple-framework ResearchKit keretrendszerhez.

A projekt összeállítása előtt telepítenie kell az apple doc generátort github.com/tomaz/appledoc (leírja a telepítés módját).
Átmegyünk a letöltött projekthez. A root projekt maga a ResearchKit keretrendszer, maga a tesztalkalmazás máshol található:


Megpróbáljuk összeállítani az alkalmazást. A szimulátor alatt gyűjtjük össze a projektet, mert a szimulátor alatt a projektet nem szükséges létrehozni.

Az építkezés leáll, mert nincs ORKCatalog séma. Mivel az eredeti projektben szereplő rendszert nem jelölték meg közösen, a gita "elvezetése" után, az xcode még mindig nem tud semmit ebből a sémából, ezért csak akkor kell megnyitnia a projektet. Így csak nyissa meg a projektet:


És azonnal, miután megjelenik a sémánk, ellenőrizheti a sémát az xcodebuild-listán keresztül. Próbálja újra összegyűjteni:


Miután látta a régóta várt ** BUILD SUCCEEDED **. Nagyszerű, működik.

Futtassa a projektet a szimulátoron


A szimulátor alatt fordítunk, az architektúra lehet i386 / x86_64. A SYMROOT-on keresztül meghatároztuk az összeállítás eredményét:


(Hangosan gondolkodom: amikor írtam egy cikket összeállítása a Release módban működik, közzététele előtt a cikket még egyszer ellenőrizte az összes lépést és összeállítása ebben az üzemmódban leállt, így összegyűjti a Debug, néhány a legújabb elkövetni van törve.)

A sikeres felépítés után az ORKCatalog.app fájl az build / Debug-iphoneimulator / könyvtárban található. Továbbra is fut a szimulátoron. Ehhez használjuk a ios-sim segédprogramot github.com/phonegap/ios-sim. Használata egyszerű.

Szerezze be a rendelkezésre álló szimulátorok listáját:


Ios alkalmazások indítása a konzolról a készüléken és a szimulátoron

A listából az "iPhone-6-Plus" -ot választottam. Futtassa rajta az alkalmazást:


Ha minden rendben van, akkor az alkalmazással szimulátort kell indítani (a konzolon a beviteli mód beviteléhez használja a ctrl + C billentyűkombinációt).

Ios alkalmazások indítása a konzolról a készüléken és a szimulátoron

Ipa-fájl létrehozása és valós eszközön való futtatás


Az eszköz alatt tároljuk az archívumot (ezek az arm64 / armv7 architektúrák):


Összeállítása az ősszel, ahogy még nem regisztrált az alkalmazás csomag id és a link a az mobileprovision, hiba lesz, mint ez:

A csomagot a konzolról kell elküldeni + regisztrálni kell az Info.plist fájlba. Szintén a konzolon keresztül továbbítjuk a linket mobilprovisionunkra. Plist fájl útközben ORKCatalog / Támogató Files / info.plist, ahol ki CFBundleIdentifier kulcs értékét ru.habrahabr.test. A csomag azonosítója áthalad a kulcson a id PRODUCT_BUNDLE_IDENTIFIER = en.habrahabr.test értékével. A mobilszolgáltatáshoz való kapcsolódás a PROVISIONIG_PROFILE kulcson keresztül történik, az UUID értékével, amelyet a mobilszolgáltatásban rögzítettek.


Az érték hasonló lesz a 87b0df89-793a-4a0f-92bf-c5f9c35f1405-hez. Ismét összegyűjtjük:


Próbálj meg összegyűjteni:


Építi ősszel, a rönkök érthető, hogy valami jogosultságokkal:

Hibásan világos, hogy az alkalmazás aláírási jogosultságok, amelyek értékei nem egyeznek a mobilszolgáltatásunk értékeivel, nevezetesen a com.apple.developer.healthkit. Keressük az okot. Tekintse meg, hogy milyen jogosultsággal rendelkezik az alkalmazás:


Látjuk, hogy minden rendben van, kivéve:


Számunkra a mobilprovisionben nincs ilyen lehetőség, meg kell tudnunk, honnan vállaltuk:


Keressen minket a kiadott ORKCatalog / Support Files / ORKCatalog.entitlements-ot. Nézz belsejében:


Csak egyetlen jelentése van:


Logikusan újra kell telepíteni a mobilszolgáltatásokat, amelyekhez hozzá kívánja adni ezt az értéket, de lusta vagy, és a teszthez nem szükséges, csak anélkül kell aláírnunk az alkalmazást, hogy jogosultak lennének ez az érték.

Legalább két lehetőségünk van:

1. Egyszerűen módosítsd a meglévő jogosultságokat (ORKCatalog / Supporitng Files / ORKCatalog.entitlements) és fordítsd újra (archiválás útján).
2. Újraképítés nélkül az ORKCatalog.app-ot újra kell írni a szükséges jogosultságokkal.

Az első opciót egyszerűbbé választjuk. Ezért az ORKCatalog / Supporitng Files / ORKCatalog.entitlements fájlból egyszerűen töröljük a sorokat:


és újra összeállítja az archívumot:


Az ipa létrehozása után:


Látjuk a régóta várt üzenetet ** EXPORT SUCCEEDED **. A build / dev-ipa / appear ipa fájlban, amelyet az eszközön telepítenek. Az eszközön lévő telepítés a ios-deploy github.com/phonegap/ios-deploy címet használja. A készüléket a készülékhez ragaszkodva megkapjuk az eszköz azonosítóját:


Telepítés az eszközön:

Ipa fájlokat gyűjtünk össze a piacon


Mindegy, hogy dolgozzon, mint egy változata, csak a változás a linket a mobileprovision verzióját, a fejlesztési options.plist helyett lepecsételt app-store (milyen más lehetőségek felvehet egy pillantást a segítséget xcodebuild help).


Az xcode használata nélkül képesek voltak összeállítani az ipa fájlokat tesztekhez és értékelésekhez az alkalmazásraktárban. Mindez egyszerűen automatizálható egy CI kiszolgálón, hogy megkönnyítse az életet a fejlesztők számára.

Ui Érdemes megjegyezni, hogy a folyamat összeállítása / jel alkalmazások komplex szerkezet, ahol több Cél és mindegyik saját külön mobileprovision fájlt (kiterjesztésű alkalmazást, óra, beágyazott keret-kami), a fenti eljárás nélkül a fájl nem fog működni.

Segíthet és pénzt küldhet a fejlesztéshez

Kapcsolódó cikkek