2015-05-15 37 views
7

Nowo wygenerowany profil informacyjny nie jest już zgodny ze starszymi wersjami tej samej aplikacji. Nowa aplikacja działa z nowym profilem, ale nie chcemy aktualizować wszystkich aplikacji połączonych ze starszymi wersjami i nie są one zgodne z najnowszą aplikacją. Musimy wkrótce odnowić profile, aby stare aplikacje działały. Zrobiliśmy to już wcześniej, ale teraz mamy następujące problemy.Czy można odnawiać profile udostępniania bez potrzeby uaktualniania aplikacji korporacyjnych na system iOS?

Otwierając aplikację ze zaktualizowanego profilu rezerw, nie jest on z tej wiadomości w dzienniku konsoli:

entitlement 'com.apple.developer.team-identifier' has value not permitted by provisioning profile 'My Profile' 

Badając profil, okazuje się, że tablica zawierająca identyfikatory zespół jest teraz już nie array, ale pojedynczy element.

Poprzedni profil provisioning:

<key>com.apple.developer.team-identifier</key> 
<array> 
    <string>SomeIdentifier</string> 
</array> 

Odnowiona zastrzegania profil:

<key>com.apple.developer.team-identifier</key> 
<string>SomeIdentifier</string> 

Czy jest możliwe aby dodać identyfikator drużyn do iOS Provisioning profil? W ten sposób znów stanie się tablicą.

W projekcie Xcode udało mi się znaleźć identyfikator zespołu w dwóch miejscach. W pliku pbxproj i certyfikacie. Wygląda na to, że nie można dodawać żadnych identyfikatorów w projekcie dla tego samego celu, ponieważ jest to przypisanie stylu para klucz-wartość.

Próbowałem też zhakować nowy profil informacyjny i po prostu owinąć znaczniki tablicy wokół elementu (mając nadzieję, że wykracza poza zakres podpisu). Niestety Xcode ulega awarii, gdy próbuję zainstalować zhakowany profil na urządzeniu (prawdopodobnie nie obsługuje wyjątków podpisu).

Każdy sposób dodania identyfikatora lub innego sposobu uzyskania kompatybilności odnowionego profilu byłby bardzo doceniony.

Odpowiedz

4

Nie sądzę, że istnieje jakikolwiek sposób edycji profilu informacyjnego w taki sposób, w jaki wyglądasz. Jeśli dojdzie do tego, będzie to naruszenie bezpieczeństwa.

Wczesne dni miały te same problemy z naszym Enterprise Apps, w których aplikacja przestała otwierać się dla wszystkich naszych użytkowników - a problem wygasł. Nie mogłem znaleźć odświeżenia w locie dla Enterprise Apps, tak jak robimy to dla AppStore Apps.

Musiałem zautomatyzować proces tworzenia tego samego IPA z odnowionym certyfikatem poprzez Jenkins i przechowywanie go na serwerze, aplikacja automatycznie pobiera nowy plik binarny i prosi użytkowników o jego uaktualnienie.

Jeśli znajdziesz się wszelkie pozostałe dobrą drogę - Byłbym zainteresowany :-)

+0

W ubiegłym roku byliśmy w stanie zrobić to w ten sposób, bez żadnych problemów. W tym roku Apple zmieniło małą rzecz, która powodowała awarię starych aplikacji. Wydaje się, że nie mamy innego wyjścia, jak tylko znieść. Na szczęście stare pliki źródłowe zostały znalezione w naszym systemie kontroli souce i cieszę się, że najnowsza wersja XCode jest w stanie je zbudować, nie niszcząc niczego (jak dotąd). Jest to dość kłopotliwe, a administratorzy i zespół operacyjny nie są zbyt zadowoleni z rozwiązania. Mając nadzieję, że dni wieczystego licencjonowania powrócą pewnego dnia. To dość drogi żart. Dzięki za poświęcenie czasu na odpowiedź :-) –