Jak podpisać plik .ipa za pomocą profilu informacyjnego po wygenerowaniu adresu IPA, takiego jak poniższy, z innym profilem informacyjnym? Chciałbym podpisać IPA za pomocą profilu aprowizacji ad hoc na potrzeby testów beta, a następnie ponownie podpisać dokładny IPA za pomocą profilu aprowizacji aplikacji dla sklepu z aplikacjami.
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}"
ios
ios-provisioning
ipa
Jasio
źródło
źródło
Odpowiedzi:
To naprawdę łatwe z poziomu wiersza poleceń. Miałem zarys scenariusza, jak to zrobić. Został on teraz włączony do skryptu ipa_sign na https://github.com/RichardBronosky/ota-tools, którego używam codziennie. Jeśli masz jakiekolwiek pytania dotyczące korzystania z tych narzędzi, nie wahaj się zapytać.
Jego sedno jest następujące:
Twoja nowa podpisana aplikacja nosi nazwę resigned.ipa
źródło
CodeResources
obecnie znajduje się wewnątrz tego_CodeSignature
folderu, to wystarczy, aby usunąć ten folder.Sprawdź iResign, aby uzyskać proste narzędzie, jak to zrobić!
[edytuj] po kilku zabawach, znalazłem rozwiązanie, aby zrezygnować ze świadomością pęku kluczy. Możesz to sprawdzić na https://gist.github.com/Weptun/5406993
źródło
Trochę starego pytania, ale z najnowszym XCode,
codesign
jest łatwe:źródło
codesign
Polecenie jest również używane w odpowiedzi @BrunoBronosky. Nie mogę go użyć bezpośrednio w pliku "* .ipa", a opcje "-vv" zawsze zwracającode object is not signed at all
się do plików, o których wiem, że są podpisane ...Opublikowane tutaj odpowiedzi nie do końca mi odpowiadały. Przeważnie pomijali podpisywanie wbudowanych frameworków (lub włączanie uprawnień).
Oto, co zadziałało w moim przypadku (zakłada się, że jeden plik ipa istnieje w bieżącym katalogu):
źródło
Westchnienie Fastlane stanowi dość solidne rozwiązanie do rezygnacji z IPA.
Z ich README:
Obsługuje nawet profile udostępniania dla aplikacji zagnieżdżonych (np. Jeśli masz aplikacje Watchkit)
źródło
Zaktualizowałem kod Bryana dla mojego iMaca Sierra:
źródło
_CodeSigned
folderembedded.mobileprovision
plik nowym profilem informacyjnymWykonaj poniższe polecenie:
/usr/bin/codesign -f -s "iPhone Distribution: Certificate Name" --resource-rules "Payload/Application.app/ResourceRules.plist" "Payload/Application.app"
Teraz spakuj ponownie folder Payload i zmień rozszerzenie .zip na .ipa
Mam nadzieję, że to pomocne.
W celach informacyjnych skorzystaj z poniższego linku: http://www.modelmetrics.com/tomgersic/codesign-re-signing-an-ipa-between-apple-accounts/
źródło
Wypróbuj tę aplikację http://www.ketzler.de/2011/01/resign-an-iphone-app-insert-new-bundle-id-and-send-to-xcode-organizer-for-upload/
Ma to pomóc w rezygnacji z pliku IPA. Wypróbowałem to sam, ale nie mogłem uzyskać błędu z Entitlements.plist. To może być problem z moim projektem. Powinieneś spróbować.
źródło