2012-03-14 10 views
6

muszę utworzyć .xarchive plik iOS przy użyciu profilu programisty, że klient może zrezygnować z użyciem ich profile (y) dystrybucji.Jak mogę napisać kod iOS .xarchive, aby klient mógł poprawnie zrezygnować? (Z wykorzystaniem powiadomień push)

(Znam to, ale nie mają żadnych realnych rozwiązań: How can I send iOS app to client, for them to code-sign)

Klient nie chce dzielić swoje klucze prywatne i nie daje mi dostęp wyżej „wykonawca” w centrum członkowskim. I nie chcemy udostępniać naszego kodu źródłowego.

Musimy wspierać powiadomień push, więc to oznacza, że ​​musimy w pełni kwalifikowaną identyfikator aplikacji.

Nie mogę znaleźć sposobu, który pozwoli mi skompilować i wyeksportować archiwum .xarchive podpisane za pomocą "produkcji aps", "get-task-allow" jako false, ALE również za pomocą certyfikatu zgodnego z certyfikatem dystrybucji klienta.

To wydaje się być błędem w Xcode, czy zmiany w "produkcji aps" i "get-task-allow" nie powinny być powiązane z konfiguracją, a nie typ profilu informacyjnego? Używam "Release", ale z moim profilem programisty.

Am I czegoś brakuje, lub jest to po prostu nie możliwe?

Odpowiedz

5

zorientowali się odpowiedź na to pytanie, metodą prób i błędów. Nawet jeśli uwagi techniczne i większość zasobów sieciowych mówią, że nie potrzebujesz pliku listy upoważnień.pl, jeśli używasz XCode4 +, są pewne sytuacje, w których to robisz. Dwa przypadki są reprezentowane przez moje pytanie powyżej:

  • budynku konfiguracji uwalnianiu (tj: Archive), ale podpisanie z deweloperem jest udostępniana określona profilu
  • z wykorzystaniem powiadomień push

Moja ostatnia ma zwyczaj entitlements.plist 3 wartości:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>get-task-allow</key> 
    <false/> 
    <key>aps-environment</key> 
    <string>production</string> 
    <key>keychain-access-groups</key> 
    <array> 
     <string>L23874DF.com.your.appid</string> 
    </array> 
</dict> 
</plist> 

Kiedyś miałem to w moim pliku listy upoważnień. Zbudowałem go z profilu udostępniania programisty dla tego identyfikatora aplikacji. Następnie zarchiwizowałem go i wyeksportowałem archiwum z organizatora. Po wyeksportowaniu wysłałem go do mojego klienta. Klient mógł zrezygnować z archiwum z profilem ad hoc i wysłać mi plik IPA, który został załadowany na moje urządzenie. Z powodzeniem otrzymałem również powiadomienie push od Urban Airship do tego IPA!

+0

„Kiedyś miałem, że w moim entitlements.plist, zbudowałem z deweloperem jest udostępniana określona profil dla tej aplikacji id” => To znaczy, że przydzielony swój profil programisty do podpisywania kodu tożsamości Release? To rzuca ostrzeżenie, dostałeś to? – Daniel

+0

Tak, otrzymałem to ostrzeżenie podczas budowania, ale był to jedyny sposób na uzyskanie prawidłowych wyników po ponownym podpisaniu. – pj4533

+5

Czy możesz udostępnić proces, którego użyli do ponownego podpisania archiwum? – Trey