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:

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).

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