2010-09-16 12 views
13

Myślę, że moja głowa wkrótce wybuchnie. Pracuję nad moją aplikacją od jakiegoś czasu i ostatecznie wydaję iPhone'owi testowanie na urządzeniu, teraz próbuję uruchomić moją aplikację na iPhone, ale nie mogę tego zrobić. Zrobiłem wszystkie niezbędne kroki, ale otrzymuję błąd [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be foundSkąd xcode pobiera identyfikator aplikacji?

Moja provisionign profil nazywa XXXXXXXXX.com.myname.*

w Info.plist Zmieniłem identyfikator Bundle do com.myname.myapplication

moja nazwa projektu jest myproject bo mogę” t go zmienić, ale mój cel i wykonywalne nazywa myapplication

Sprawdziłem wszystkie ustawienia, a nawet nie może znaleźć tego yourcompany nigdzie

ale nadal pojawia się ten błąd

gdzie trzeba szukać?

dziękuję

+1

Czy możesz spojrzeć na info.plist projektu lub ustawienia projektu? – vodkhang

Odpowiedz

23

Xcode wykorzystuje identyfikator pakietu znaleźć w pliku Info.plist docelowego, do podpisywania kodu.

Który plik Info.plist jest zaznaczony, jest ustawieniem kompilacji (zwykle w docelowym) i zazwyczaj jest poprawnie skonfigurowany przez Xcode. Jeśli ręcznie edytujesz wartość identyfikatora pakunku Info.plist do swojego identyfikatora, Xcode powinien używać tego identyfikatora i podpisywanie kodu powinno działać.

Domyślny plik Info.plist zawiera identyfikator pakietu, który zawiera ustawienia kompilacji Xcode i jest przetwarzany do ostatecznego identyfikatora podczas budowania celu.

+0

Ok, znalazłem w pliku folderu projektu MyProject-info.plist, który zawierał błędne dane, zmieniłem je i teraz działa, ale nie widzę tego pliku w xcode, w xcode Mam myapplication-info.plist, I myślę, że to nie w porządku, co mogę z tym zrobić? Co w ogóle robi ten plik? – Burjua

11

Odpowiedź Nikolaia Ruhe powiedziała: "Jeśli ręcznie edytowałeś wartość identyfikatora paczki Info.plist do swojego identyfikatora, Xcode powinien użyć tego identyfikatora i powinno podpisywać kod." To prawda. Jednak obecnie (nie jestem pewien jak to było w wrześniu 2010 roku), xcode używa domyślnego identyfikatora pakietu, który jest funkcją zmiennej $ {PRODUCT_NAME}. Ta sama zmienna jest używana w różnych innych miejscach, np. Jako nazwa pakietu, nazwa wyświetlana pakietu itp. Dlatego też zalecam zmianę $ {PRODUCT_NAME}, a ta zmiana zostanie następnie przeniesiona do identyfikatora pakunku Info.plist itp.

Jak zmienić $ {PRODUCT_NAME}? Wybierz odpowiedni cel, przejdź do "Ustawienia kompilacji", rozwiń sekcję "pakowanie", a następnie edytuj wartość "Nazwa produktu".

+0

To nie zawsze jest prawdą. Jeśli zwolnisz aplikację, ale później zmienisz nazwę produktu, nadal będziesz musiał użyć starego identyfikatora pakietu. W takim przypadku dobrym pomysłem jest zmiana tylko identyfikatora pakietu. –

1

Wybierz swój cel, przejdź do podsumowania. Zmień identyfikator pakietu na com.myname.myapplication z com.yourcompany.MyProject. To powinno działać! Używam go w ten sposób i działa świetnie za każdym razem. Możesz zrobić to samo z pliku info.plist.

Powiązane problemy