iOS - podpisanie aplikacji

0

Cześć,

Mam do was pytanie w jaki sposób realizujecie taki scenariusz, albo jak powinien być on zrealizowany poprawnie.

Tworzę aplikację dla róznych klientów(jedna aplikacja z różnymi widokami dla każdego z nich). Do tej pory realizowałem to w ten sposób, że otrzymywałem dostęp do konta developer.apple.com z rolą admina bądź developera. Mogłem sobie tworzyć wszystkie certyfikaty(włącznie z certyfikatem dystrybucyjnym) i potem appstoreconnect tworzyłem aplikację i ją dystrybuowałem do klienta do TestFlight. Obsługa klienta ograniczała się do tego, że wrzucał aplikację do review i potem na produkcję.

No i takie coś spisywało się dobrze do momentu aż klient powiedział, że nie otrzymam dostępu do konta. I teraz pytanie do was. W jaki sposób to powinno być zrealizowane? Co klient musi mi dostarczyć z zarządzania abym mógł mu przekazać niepodpisaną aplikację i klient ją sobie podpisze żeby mógł ją w spokoju wrzucić do siebie.

Czy klient musi mi dostarczyć takie rzeczy jak:

  • certyfikat developerski

  • provisioningProfiles związane z aplikacją

  • certyfikaty dystrybucyjne

Czy mogę bez problemu stworzyć niepodpisane *.ipa z jakimś bundleId, które klient będzie miał u siebie? Jeśli tak to jak stworzyć *.ipa za pomocą komend ponieważ użycie komendy:

/usr/bin/xcodebuild -scheme MYSCHEME -workspace MYWORKSPACE.xcworkspace   
    -configuration Release clean archive -archivePath "build/APPNAME.xcarchive" 
    CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

powoduje stworzenie folderu *.archive, które chciałbym potem wyeksportować do *.ipa też za pomocą linii komend. A jeśli tak chcę zrobić to już niestety muszę podać dane z profilami dystrybucyjnymi i certyfikatem.

Chyba, że robię coś źle dlatego prosiłbym o wytłumaczenie mniej więcej jak to powinno być realizowane bądź odesłanie mnie do jakiegoś poradnika czy czegoś gdzie byłoby to wskazane.

0

Wyłącz automatyczne podpisywanie w Xcode i zobacz o jakie certyfikaty Cię poprosi i musisz je dostarczyć. Jeśli to ma być tylko dystrybucja bez publikacji to wystarczy Development provisioning profile z danymi już urządzeniami, na których można zainstalować tą apkę

0

Dawno się tym nie zajmowałem, więc pewnie przekręcam i mogę opisać ogólniki.

Zakładasz swoje konto (obecnie chyba darmowe).
Prosisz klienta o dane urządzeń na których chce testować (chyba numery seryjne).
Wpisujesz je na odpowiednią listę do uswojego konta.
Apple wystawia provisioning profile, które trzeba wgrać na telefony klienta.
Od tego momentu podpisując swoim kluczem (certyfikowanym przez apple) możesz dystrybuować aplikację, ale tylko na telefony, do których masz "provisioning profile".

Certyfikat że możesz aplikację dowolnie dystrybuować (bez AppStore) jest chyba dość drogi.

Albo po prostu publikujesz darmową apkę na AppStore (dla klienta może być to najwygodniejsze).
Jeśli apka jest działa tylko z serwerem klienta (lub twoim), to nie ma się co przejmować, że ktoś inny zainstaluje twoją aplikację.

Aplikacji bez podpisu nie da się zainstalować.

Provisioning profile nie jest powiązany z aplikacją, ale stanowi taką furtkę do testowania aplikacji tylko na wybranych urządzeniach.
Nie pamiętam jaki jest limit liczby urządzeń, które tak można tak obsłużyć.
Cały zamysł tego mechanizmu polega na tym, żeby nie powstał alternatywny AppStore.

1 użytkowników online, w tym zalogowanych: 0, gości: 1