Adăugarea de autocolante la ipa - alexey gulev

Adăugarea de autocolante la ipa - alexey gulev
Cu cât este mai aproape de eliberare, cu atât apar probleme mai exotice.

De exemplu, trebuia să adaug autocolante pentru jocul iMessage. Și totul ar fi bine, dar Defold nu creează un proiect Xcode, dar asamblează imediat ipa gata (Adobe AIR face același lucru, de exemplu). Are argumentele pro și contra, dar nu este vorba despre asta în momentul de față.

Astfel, datele inițiale pentru noi sunt:

  • mac cu xcode;
  • ipa gata de a fi trimis la AppStore;
  • imagini frumoase pentru autocolante;
  • dorința de a face autocolante pentru ipa noastră.

Pentru a nu schimba totul de multe ori, citiți imediat întregul articol și doar apoi continuați cu acțiunea.

Creați autocolante

Nu mă voi concentra pe procesul de creare a autocolantelor, tk. aceste materiale sunt complete pe Internet. Vă voi spune numai punctele principale care merită cunoscute în cadrul misiunii noastre:

  1. autocolantele sunt semnate de același certificat ca și aplicația principală.
  2. Plicurile de identificare a identității trebuie să fie identice cu ID-ul aplicației principale + numele autocolantelor. De exemplu, dacă aplicația dvs. are ID-ul com.mysupergame, atunci ID-ul autocolantului trebuie să fie com.mysupergame.mysuperstickers
    În acest caz, după ID-ul principal nu ar trebui să existe mai mult de un punct, adică com.mysupergame.mysuperstickers.pack va returna o eroare.
  3. Versiunea de autocolant trebuie să se potrivească versiunii aplicației principale. Acest lucru nu este critic, dar ajută la evitarea avertismentelor inutile de la Apple;
  4. autocolante sunt acceptate cu iOS 10, deci MinimumOSVersion trebuie să fie cel puțin 10.0 (în Xcode acest parametru se numește Target Deployment). Dar pentru aplicația principală, puteți lăsa versiunea de care aveți nevoie.
  1. Creez o nouă aplicație în xcode;
  2. Eu aleg un certificat pentru el și este providențial, ca și pentru o aplicație de bază manual;
  3. adăugați noi autocolante țintă la proiect (cred că puteți crea un proiect de autocolant imediat, dar nu l-am verificat);
  4. pentru autocolante, am selectat manual acelasi certificat ca si aplicatia principala si am creat special pentru autocolante (pentru descarcare, nu pentru dezvoltare);
  5. Am publicat versiunile la fel ca și la aplicația principală;
  6. Scopul de implementare este peste tot 10,0;
  7. Creez arhiva aplicației Product-> Archive;
  8. în organizator fac exportul ipa pentru descărcare în appstore, eliminând toate "checkmarks" inutile;
    Adăugarea de autocolante la ipa - alexey gulev
  9. ipa Salvez la dosarul autocolante (în viitor, voi da comenzi care vor fi calculate exact pentru această locație a acestui ipa).

Adăugarea de autocolante la ipa finită
Adăugarea de autocolante la ipa - alexey gulev

Deci, avem 2 fișiere ipa, una cu autocolante în dosarul autocolante și următorul folder ipa jocuri (așa cum se numește ipa nu este importantă).

Deschideți un terminal în folderul jocului (acesta este doar exemplul meu ierarhiei, este important să utilizați numai dosar numele autocolante) și executați următoarele comenzi după înlocuirea certificatului YOUR_CERTIFICATE cererii dumneavoastră:

Dacă colecta autocolante nu le place de mine, și tocmai ați asamblat acolo appex cu autocolante după> rm -r Payload / *. App / _CodeSignature adauga la aplicația în dosarul pluginuri și treceți la semnarea cererii dumneavoastră. Acest lucru va funcționa pentru testare (dacă dezvoltarea este prevăzută și certificatul cu dispozitivele înregistrate), dar nu știu dacă va fi scris în registru.

Acum avem un ipa cu autocolante și aici, doar, iar distracția începe ...

Probleme și soluții

Dacă ați luat în considerare tot ce am descris, aplicatorul Loader va descărca aplicația dvs. și nu va da nici măcar erori sau avertismente.

Când am descărcat ipa, bucuria mea nu era o capelă laterală. Dar după 5 minute de procesare a aplicației deja la sfârșit, am primit o scrisoare de la App Store cu următoarea eroare:

Nu vreau nici măcar să exprim vocea ipa pe care am colectat-o ​​și încărcată în site în încercarea de a face față acestei erori.

Și dacă nu ați uitat să adăugați MessagesApplicationExtensionSupport la ipa, atunci acest lucru este posibil și:

Suport nevalid Mesaje Aplicație - Fișierele MessagesApplicationExtensionStub nu se potrivesc YourApp.app/PlugIns/stickers.appex/MessagesApplicationExtensionStub. Asigurați-vă că fișierele sunt corecte, reconstruiți aplicația și retrimiteți-o. Nu se aplică post-procesare la YourApp.app/PlugIns/stickers.appex/MessagesApplicationExtensionStub.

Interesant este faptul că MessagesApplicationExtensionStub nu este deloc googled. Chiar și nu există informații despre ce fel de fișier este acesta. Da, și, în general, aceste erori de informații sunt foarte puține pe Internet.

Pentru a rezolva această problemă, trebuie să vă întoarceți la etapa de asamblare a ipa originală cu jocul nostru și să faceți corecții la info.plist din aplicația noastră (nu autocolante, și anume jocuri). În Defld, puteți seta șablonul info.plist în setările proiectului (așa cum nu-mi amintesc deja în AIR).

Pentru Defold. Dacă nu aveți un șablon, puteți să îl descărcați descărcând cea mai recentă versiune a bob.jar, la d.defold.com. După care redenumiți bob.jar la bob.zip, despachetați și mergeți la com / dynamo / bob / bundle / resources / - există șabloane pentru toate platformele: AndroidManifest, info.plist, etc.

În plus, modificările în fișierul .plist, puteți face și deja asamblate înainte de a semna ipa (comanda> codesign -f -s «YOUR_CERTIFICATE» -entitlements Entitlements.plist).

După cum am scris mai sus, autocolantele sunt acceptate numai în iOS 10+ și, prin urmare, în plist trebuie să setați cel puțin 10,0 pentru acest parametru:

Acum puteți completa aplicația și vă puteți bucura de autocolante.

Adăugarea de autocolante la ipa - alexey gulev

În loc de concluzii

Depășirea acestei probleme nu a fost ușoară. De dragul acestui lucru, am înregistrat chiar și pentru stackoverflow pentru a pune prima mea întrebare (apropo, nimeni nu ma ajutat acolo).

Vreau să spun mulțumiri dezvoltatorilor de Defold pentru ajutor (subiect pe forum).

În plus, vă mulțumesc foarte mult @ TheRabbitFlash pentru ceea ce a ajutat la scoaterea de la sol în etapele inițiale.

Tocmai mi-am spus experiența, așa că era mai ușor să-mi amintesc când data viitoare am întâlnit astfel de probleme. Nu mă prefac adevărul în ultimă instanță și corectitudinea absolută. Faceți totul în pericol și riscați. Nu sunt responsabil pentru asta.

UPD: Mulțumesc, Akim. A făcut o clarificare cu privire la versiunea minimă a aplicației. Poate diferi de versiunea autocolantelor și poate fi sub 10,0.

Navigare după înregistrări