Uwaga: opracowuję przy użyciu platformy Xamarin. Podobne pytanie opublikowane na forum Xamarin tutaj
Tworzę aplikację o nazwie, powiedz CompanyApp . Następnie utworzyłem dla niego identyfikator aplikacji com.Company.CompanyApp wraz z profilem obsługi administracyjnej dystrybucji, który używa odpowiedniego identyfikatora aplikacji. Wgrałem plik binarny i działał idealnie.
Następnie stworzyłem wersję demonstracyjną aplikacji (w zasadzie ta sama aplikacja z niewielkimi modyfikacjami, więc jest to to samo rozwiązanie i projekt, tylko inne ustawienia podpisywania pakietów), CompanyAppDemo z nowym identyfikatorem aplikacji com.Company.CompanyAppDemo , wraz z nowy profil aprowizacji dystrybucji, który używa nowego identyfikatora aplikacji. Zaktualizowałem opcje podpisywania pakietów iOS, aby używać nowego profilu aprowizacji i wygenerowałem IPA. Ale kiedy załadowałem to do modułu ładującego aplikacje, otrzymałem następujący błąd:
[2015-01-23 16:08:21 SGT] BŁĄD: BŁĄD ITMS-90164: „Nieprawidłowe uprawnienia do podpisywania kodu. Uprawnienia w podpisie pakietu aplikacji nie są zgodne z tymi, które są zawarte w profilu obsługi administracyjnej. profile, pakiet zawiera wartość klucza, która jest niedozwolona: „TEAMID.com.Company.CompanyApp” dla klucza „identyfikator-aplikacji” w „Payload / CompanyApp.app / CompanyApp” ”
[2015-01-23 16:08:21 SGT] BŁĄD: BŁĄD ITMS-90046: „Nieprawidłowe uprawnienia do podpisywania kodu. Podpis pakietu aplikacji zawiera uprawnienia do podpisywania kodu, które nie są obsługiwane w systemie iOS. W szczególności wartość„ TEAMID.com.Company ” .CompanyApp 'dla klucza' identyfikator-aplikacji 'w' Payload / CompanyApp.app / CompanyApp 'nie jest obsługiwana. Ta wartość powinna być ciągiem zaczynającym się od TEAMID, po którym następuje kropka'. ', Po której następuje identyfikator pakietu. ”
Debugowałem od dni, aby dowiedzieć się, ale bezskutecznie.
Zastanawiam się, dlaczego po podpisaniu nowego profilu błąd, który wyrzucił program ładujący aplikację, odnosi się do identyfikatora oryginalnej aplikacji TEAMID.com.Company.CompanyApp zamiast TEAMID.com.Company.CompanyAppDemo ? Czy to błąd w oprogramowaniu Xamarin, który powoduje odebranie niewłaściwego profilu aprowizacji, czy czegoś mi brakuje? Nie potrzebujesz innego certyfikatu dla innej aplikacji, prawda?
Należy pamiętać, że zawsze odświeżałem listę profili aprowizacji w XCode> Preference przed zmianą opcji podpisywania kompilacji systemu iOS w oprogramowaniu Xamarin.