Próbuję zrozumieć rolę pierwszej części AppID dla aplikacji na iOS. Ta część była wcześniej znana jako "Identyfikator początkowy pakietu", ale obecnie często określa się ją jako prefiks AppID.Czy zmiana prefiksu AppID między aktualizacjami jest bezpieczna?
Jakiś czas temu (iOS 5?) Firma Apple wprowadziła pewne zmiany zarówno w swoim portalu, jak i dokumentacji, i zaczęła polecać używanie "Identyfikatora zespołu" (unikatowe dla każdego konta programisty) jako prefiksu AppID. Jest to proste i proste dla nowych programistów z nowymi aplikacjami.
Jaka jest najlepsza praktyka w zakresie obsługi istniejących aplikacji w odniesieniu do prefiksu AppID? Wiem, że nie można zmienić identyfikatora BundleID (= drugiej części identyfikatora AppID) między dwiema wersjami aplikacji, ale czy zmiana prefiksu między wersjami aplikacji jest bezpieczna?
Uwaga: nie mam na myśli zastąpienia "identyfikatora aplikacji typu" wildcard ", np. ABC1234567. *, Do jawnego AppID używającego tego samego prefiksu, np. ABC1234567.com.mycompany.myapp. Istnieje mnóstwo informacji na ten temat (większość z nich jest jednak przestarzała). Zastanawiam się nad zmianą kompletnego identyfikatora aplikacji, np. ABC1234567.com.mycompany.myapp dla istniejącej aplikacji, zastępując prefiks moim identyfikatorem zespołu, np. DEF7654321.com.mycompany.myapp.
Wydaje mi się, że przeczytałem gdzieś, że zmiana prefiksu dla istniejących aplikacji powinna być OK, z wyjątkiem specjalnego przypadku, w którym aplikacja używa klucza do przechowywania danych. Jeśli to prawda, najprostszym sposobem na obsłużenie prefiksu dla istniejących aplikacji będzie migracja do nowego identyfikatora zespołu, gdy nadejdzie czas wydania kolejnej aktualizacji. Kiedy wszystkie moje aplikacje są migrowane, mogę nadal używać identyfikatora zespołu (jak zaleca Apple dla nowych aplikacji) i ostatecznie zapomnieć o tym wszystkim. Czy ktoś może to potwierdzić?
Jeśli możesz rzucić więcej światła na pojęcie prefiksu AppID, i to, czego faktycznie używa się na urządzeniu z systemem iOS (poza łańcuchem kluczy, o którym już wiem), byłbym szczęśliwy, gdybyś mógł napisać komentarz. Być może moglibyśmy w pełni to zrozumieć, dodając fragmenty z różnych źródeł. Niestety, dokumentacja Apple jest bardzo cienka w tym obszarze.
(Jest jeszcze jedno podobne pytanie: Can I change the Bundle Identifier in my app after it's been approved? Ale to głównie koncentruje się na BundleID, tj. Drugiej części AppID, więc nie jest to duplikat, mimo że niektóre odpowiedzi i komentarze dotyczą tego tematu.)
Jeśli chodzi o pytanie, czy prefiks AppID jest używany do jakichkolwiek innych celów niż kontrola dostępu do pęku kluczy, zauważyłem zmianę w dokumentacji referencyjnej UIPasteboard. w przypadku iOS 7: w przypadku metody "pasteboardWithName: create:" jest teraz notatka z informacją, że dwie aplikacje muszą mieć "ten sam identyfikator zespołu", aby móc udostępniać obszar roboczy. Podejrzewam, że może to być literówka i że faktycznie odnosi się do prefiksu AppID. Trudno uwierzyć, że iOS w środowisku wykonawczym ma bezpośrednią wiedzę o identyfikatorze TeamID, z wyjątkiem przypadku, gdy identyfikator TeamID jest używany jako prefiks AppID. – Magnus