Noudata näitä ohjeita (katso myös Applen kehittäjien ohjeet ja BoltClockin vastaus Testaa iOS-sovellusta laitteella ilman omenankehittäjäohjelmaa tai jailbreakia), Pystyin kääntämään iOS-sovelluksen (tässä tapauksessa lähtöpaikka, videopelikonsoliemulaattorisovellus, joka ei täytä Applen ohjeita ja jota ei koskaan sallita Applen App Storessa) Xcode 7: ään, allekirjoittaa se henkilökohtaisella iCloud-tililläni, lataa se iPhonelleni (kytkemällä se Maciin USB: llä ja valitsemalla iPhoneni xcode-valikosta -> Tuote -> Kohde), ja anna puhelimeni suorittaa se "luottamalla" sovelluksiin tällä allekirjoitus kohdassa Asetukset -> Yleiset -> Profiili, joka asentaa icloud-tiliini liitetyn varmenteen laitteeseen.
Haluan kopioida nämä vaiheet ilman latausta. Voinko saada Xcoden tuottamaan suoritettavan tiedoston, jonka voin jakaa veljelleni, jolla on iPhone, mutta jolla ei ole pääsyä Maciin Xcode-koodilla?
StackExchange-verkko on toteuttanut jotain tällaista ilmeisesti iOS: lleen sovelluksen beetaohjelma käyttämällä Applen yritysjakelua Mobile Device Managementin kautta, kuten tässä kysymyksessä mainitaan. Siellä on myös BuildStore ( http://builds.io/), joka myös 10 dollaria vuodessa mahdollistaa tämän toiminnon, ilmeisesti lisäämällä käyttäjiä "kehittäjien joukkueeseen", joka on liitetty maksettuun Apple Developer Program -ohjelmaan. tili (katso Apple dev docs). Onko Xcode 7: llä mahdollista tehdä sellainen ilman yritystä tai edes tavallista maksettua kehittäjätiliä?
päivitys: Stackszan avun ansiosta olen edistynyt jonkin verran, mikä Yhteenveto tästä.
- XCode luo arkiston (Tuote -> Arkisto), mutta se ei salli sinun viedä arkistoa .ipa-tiedostoon ad hoc -jakelua varten tilaamatta. maksetun ADP-tilin taso.
- Ei ole ongelma, koska komentorivin xcode-työkalu luo .ipa-suoritettavan tiedoston, vaikka ilman maksettua ADP-tiliä. Käytä komentoa
xcodebuild -exportArchive -archivePath Provenance-Release \ 11-20-15 \, \ 22.24.xcarchive / -exportOptionsPlist ~ / manifest.plist -exportPath ~ / Provenance
(katso Khawarin vastaus osoitteessa Kuinka luoda IPA xcode 6: ssa ilman Apple Developer -tiliä?) - Mutta tämä komento edellyttää, että määrität manifestin .plist-tiedoston. Razvanin vastaus osoitteessa Over The Air (OTA) iOS IPA File Distribution For Public? sisältää esimerkin manifest.plist-ohjeen sekä ohjeet latauslinkin tarjoamiseen tarvittavasta hyperlinkkimuodosta. SSL-verkkosivulla. Voi olla, että SSL-URL-osoitteen on laskettava sovelluksen nipputunnus, en ole varma.
- Mutta yllä oleva toimii vain, jos sovellus on järjestetty laitteelle, joka lataa sen, ja laite on jo asentanut kehittäjän sertifikaatti. Joten esimerkiksi laite, joka on aiemmin kytketty USB: n kautta Xcode-koodiini, voi nyt ladata sovelluksen ilman kautta, mikä on hienoa. Tämä on edistystä. Mutta puhtaisille laitteille saan virheen
Upotettua profiilia ei voitu asentaa: 0xe8008012 (Tätä valmisteluprofiilia ei voida asentaa tähän laitteeseen.)
(laitteen konsolista katsottuna, jota voidaan tarkastella Xcode-muodossa - > Ikkuna -> Laitteet tai muu Apple Configurator -sovelluksessa). - Jotta sovellusta voidaan huolehtia laitteesta, sen on sisällettävä laitteen UDID
embedded.mobileprovision
-tiedostossa. Katso Miten luodaan käyttöprofiili iOS-sovellukseen, Kuinka automatisoida kentän tarkistus ipa's embedded.mobileprovision -ohjelmassa?, Kuinka selvittää, mitä profiilia käytettiin * .ipa-tiedoston rakentamiseen? ja Onko mahdollista nähdä, mikä UDID sisältyy koontiversioon?. Et voi vain muokata tätä tiedostoa lisätäksesi UDID: n, koska silloin sovelluksen CODESIGNATURE ei täsmää, ja laite ilmoittaa virheestä/ private / var / mobile / Library / -koodin allekirjoituksen vahvistaminen epäonnistui Välimuistit / com.apple.mobile.installd.staging / temp.7jBjpk /extracted/Payload/Provenance.app: 0xe8008017 (allekirjoitettu resurssi on lisätty, muokattu tai poistettu.)}
- Ok, joten meidän on erotettava sovellus. Xcode tarjoaa komentorivityökalun nimeltä
odesign
, joka voi tehdä tämän. Ohjeet ovat osoitteessa Kuinka allekirjoittaa ipa-tiedosto uudelleen? ja Allekirjoita IPA uudelleen (iPhone) ja Peruuta iPhone-sovellus, lisää uusi Bundle ID ja lähetä osoitteeseen Xcode Organizer for Upload ja IPA: n manuaalinen allekirjoittaminen uudella käyttöprofiililla. Minun piti määrittää kehittäjävarmenne, jonka tarkka nimi löytyy Avaimenperä-käyttöoikeudesta, Sertifikaatit-välilehdeltä, ja näyttää tältä: "iPhone Developer: username@mac.com (ABCDEFGHIJ)". Sitten komento on kuinodesign -f -s "iPhone Developer: username@mac.com (ABCDEFGHIJ)" Payload / Provenance.app
. Yllä olevien ohjeiden esimerkkikomennot sisälsivät lipun nimeltä--resource-rules
, mutta en löytänyt tällaista tiedostoa käännetystä sovelluksestani, joten poistin lipun. Ihmettelen, mitä se tekee ja onko se välttämätöntä. Muokkaa: Thomas Kollbachin loistava blogiviesti Sisäkoodin allekirjoitus kertoo, että--resource-rules
-lippua käytettiin aiemmin ilmoittamaan, mitkä osat sovelluksen on oltava allekirjoitettu, mutta koska iOS8 on vanhentunut, ja koko sovellus on allekirjoitettava. - Nyt kun sovellukseen on lisätty UDID ja se on allekirjoitettu, sen lataaminen uudelle laitteelle antaa virheet
Upotettua profiilia ei voitu asentaa: 0xe8008003 (tämä käyttöprofiili on väärin muotoiltu
jakelvollinen Tämän suoritettavan tiedoston valmisteluprofiilia ei löytynyt
. Luulen, että nyt ongelmana on, että laite ei ole vieläkään asentanut kehittäjän varmentetta. Kun lataat sivulatausta Xcode-koodin kautta, sinun on löydettävä asennettu varmenne Asetukset -> Yleiset -> Profiili, valitse varmenne ja napauta "luottaa". Tämä vaihtoehto ei kuitenkaan tule näkyviin ad hoc -sovelluksen langattoman latauksen jälkeen, joten en ole varma, miten edetä. Luulen, että tarvitsen joitain tapa asentaa kehittäjän varmenne laitteeseen. Asennusprofiilin asentaminen iOS 8.0.2 -käyttöjärjestelmään mukaan aiemmin se oli mahdollista yksinkertaisesti lähettämällä varmenne sähköpostilla laitteelle, mutta se ei enää toimi iOS-versiosta 8. En ole yrittänyt vahvistaa. Kuinka voin asentaa kehittäjän sertifikaatin kopioida iOS-laitteelle etänä? - Yritin viedä iPhonen kehittäjävarmenteen Avaimenperä-pääsystä ja lähettää sen sähköpostilla laitteeseen. Laite pystyi asentamaan sertifikaatin, mutta se näytti punaisella varoituksella, että sitä ei ollut allekirjoitettu, kun taas varoitus asennettiin Xcode / USB: n kautta. Rhythmic Fistmanin mukaan osoitteessa on mahdollista salata upotettu.mobileprovision-tiedosto?, Applen on allekirjoitettava profiili toimiakseen. Tämä voi olla kiinnityskohta. Apple allekirjoittaa sertifikaatin vain, jos sinulla on maksettu ADP-tili.
- Tämä Sean Heberin blogi, joka käsitteli palvelujen tarjoamista, valaisti hyvin kehittäjien varmenteiden ja valmisteluprofiilien yleistä teoriaa ( Kollbachin kanssa molemmat on vaadittava. Se sisältää tämän kappaleen:
Syy, että tämä kaikki toimii ja on turvallista, on se, että Apple luo käyttöprofiilit portaaliin ja allekirjoittaa ne sitten omilla yksityisillä avaimillaan ennen niiden toimittamista sinulle. Ainoastaan Apple voi tehdä valmisteluprofiilien allekirjoittamisen. Siksi lataamaasi tiedostoa ei voida peukaloida tekemättä sitä virheelliseksi. IOS ei hyväksy virheellistä provisiointiprofiilia, joten Apple voi hallita tarkalleen, mitä kehittäjä voi tarjota ja mitä ei voi rajoittaa yksinkertaisesti rajoittamalla käyttöoikeusprofiilin allekirjoittamiseen pääsyn asioihin, jotka kehittäjäportaali antaa sinulle oikeuden määrittää ensimmäisessä paikka - vaikka valmisteluprofiilit voivat tukea mitä tahansa muita mahtavia vaihtoehtoja, joita et voi käyttää ilman vankilamurhaa. Siksi sinun on rekisteröitävä testauslaitteet portaaliin, lisättävä varmenteet portaaliin jne. - Vain portaalissa olevat asiat (ja joiden numeroita Apple voi hallita ja rajoittaa mielivaltaisesti) voidaan sisällyttää luotuun ja asianmukaisesti allekirjoitettu provisiointiprofiili. Portaali on Applen tarjoamiskäytäntöjen ja rajoitusten tosiasiallinen täytäntöönpano.
Tämä näyttää vastaavan lopullisesti kysymykseeni (voinko saada sovelluksen toimimaan ilman maksettua ADP-tili) "ei". Vaikka tämä artikkeli edeltää Xcode 7 -käyttöjärjestelmää. Ilmeisesti Xcode 7 lähettää laitteen UDID: n Apple-portaaliin ja saa vastauksena Applen allekirjoittaman käyttöprofiilin, joka sisältää kyseisen UDID: n. Xcode 7 tekee tämän vain, kun laite on kytketty USB-kaapelilla ja Xcode tunnistaa sen, mutta ihmettelevät, voisiko käsin kehittää manuaalinen Xcode-pyyntö Applelle? Se syvenee Apple-tekniikan käänteiseen suunnitteluun kuin olen tyytyväinen, ja luultavasti rikkoo käyttöehtoja tai mitä tahansa, joten luulen olevani tyytyväinen ei-vastaukseen.
mukaan noin BuildStore-sivulle, he hallitsevat jotain vastaavaa sähköpostitse, joten se voi olla mahdollista.
Xcode “Rakenna ja arkistoi” komentoriviltä on melko vanha (noin xcode 3), mutta ehdottaa xcrun
: n käyttämistä xcodebuild
-kohdan sijaan. Olen käyttänyt.