2012-05-08 44 views
17

Próbuję zainstalować moją aplikację na iOS na moim urządzeniu z systemem iOS 5.1. To nie jest obecnie jailbreaked, ale jeśli to jest potrzebne, zrobię to.Zainstaluj aplikacje na iOS na urządzeniu bez programu dla programistów, iOS 5.1

Po uruchomieniu iOS 5.0.1 śledziłem ten wątek: How can I deploy an iPhone application from Xcode to a real iPhone device? i utworzyłem samopodpisany certyfikat, który działał jak czar.

nie jestem w stanie dostać pracy po aktualizacji do Xcode 4.3.2 i iOS 5.1

I'v próbował również po ten wątek, ale bez powodzenia: Test iOS app on device without apple developer program or jailbreak

Więc jak mam zainstalować moje aplikacje z Xcode 4.3.2 na moim iPhone 4 z systemem iOS 5.1, bez bycia członkiem programu deweloperskiego?

EDYCJA: Jestem teraz w stanie uzyskać aplikacje na iPhone. Ale kiedy próbuję je uruchomić, ulegają awarii, nawet obraz startowy nie pojawia się. Mam Jailbroken urządzenia, zainstalowałem Appsync, edytowałem SDKSettings.plist i zmieniłem właściwości kompilacji na "Nie koduj znaku".

To co konsola daje mi gdy próbuję uruchomić aplikację, ja nie dostaję żadnego dziennika awarii w Xcode:

May 8 18:25:35 unknown SpringBoard[54] <Warning>: Unable to obtain a task name port right for pid 1017: (os/kern) failure 
May 8 18:25:35 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.KerschApps.Test[0x2fa8]) Exited: Killed: 9 
May 8 18:25:35 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.KerschApps.Test[0x2fa8]) Throttling respawn: Will start in 2147483647 seconds 
May 8 18:25:35 unknown SpringBoard[54] <Warning>: Application 'Test' exited abnormally with signal 9: Killed: 9 
May 8 18:25:36 unknown kernel[0] <Debug>: AMFI: hook..execve() killing pid 1017: no code signature 

Dlaczego wszystkie moje aplikacje upaść w iPhone po uruchomieniu dobrze w symulatorze?

Dzięki/Tim

+0

widziałaś ten wątek http://stackoverflow.com/questions/9898039/xcode-4-3-2-bypass-code-signing – Vin

+0

Przegapiłem ten wątek, spróbuję. Dzięki! – Kersch

+0

Zrobiłem wszystkie kroki teraz, edytowałem plik plist, jailbreaked mój iPhone i mogę zainstalować aplikację na moim iPhone bez podpisywania kodu. Ale kiedy próbuję uruchomić aplikację To zawiesza się przy starcie. Nie mogę nawet zobaczyć obrazu startowego. Działa dobrze na symulatorze i próbowałem z innymi aplikacjami. Czy wiesz, jaki może być problem? – Kersch

Odpowiedz

11

miałem dokładnie ten sam problem jak ty, coraz aplikacje uruchomione na iOS 5.1 z Xcode 4.3.2 i właśnie udało się uzyskać to działa prawie idealnie przy użyciu tej metody tutaj:

Building Apps for iOS 5.1 with Xcode 4.3.2

Jest to oparte na this one from iPhone Dev wiki, ale musiałem uwzględnić pewne zmiany - przełącznik -gta powoduje błąd kompilacji, a instrukcje nie są dokładnie jednoznaczne.Kompletny poradnik jest w tym poście, ale kroki w zasadzie są:

  1. Tworzenie certyfikatu z podpisem własnym z nazwy „iPhone Developer”
  2. Turn „podpisywania kodu Tożsamości” w projekcie Xcode zbudować ustawień z powrotem na - do używać samodzielnie podpisanego certyfikatu
  3. Zmień wystąpienia Info.plist jak stwierdzono
  4. Pobierz ldid „iPhone Developer”, uczynić wykonywalny
  5. Utwórz skrypt Pythona, trzymać go w/usr/bin, referencje skryptów Pythona zmiana odpowiednio
  6. Zmień iPhoneCodeSign.xcspec używać ldid3.py
  7. Tworzenie tdmtanf plik na urządzeniu z dotyku przez ssh
  8. Nie wkładać -gta flagi w „Innych Flagi podpisywania kodu”

zdarza mi się używać Jedności do debugowania, więc brak debugowania Xcode z -gta nie przeszkadzało mi - oczywiście twórcy C w Objective C będą potrzebować tej funkcjonalności, więc mam nadzieję, że ktoś może rozwinąć to, jeśli go uruchomią. Obecnie gram z wersją dev mojej aplikacji na moim iPhone'ie w wersji 5.1, a palce krzyżują się, możesz uzyskać ten sam efekt.

+0

Dzięki. Spróbuję też tego rozwiązania. – Kersch

+0

Udało mi się sprawić, żeby działało po swojemu. Twój krok 5 jest mylący. Musiałem umieścić ldid w '/ usr/bin/ldid' i odpowiednio zmienić ldid3.py (wiersz 12 i 24). – TCB13

+0

Tak, miałem trochę problemów z tym, że ldid3.py stracił swoją flagę uprawnień do wykonywania, więc można mieć więcej szczęścia po wykonaniu kroków łącza wiki i umieszczeniu go w ldid/usr/local/bin. Ponadto wydaje się, że iDevices odmówi uruchamiania aplikacji zbudowanych przy użyciu najnowszych pakietów SDK, nawet jeśli powyższe kroki są przestrzegane - jeśli wybiorę w Unity (silnik gry/edytor) kompilację z iOS 5.1 SDK, aplikacja natychmiast się rozłączy po kliknięciu w , a Xcode zgłosiłby komunikat o błędzie oryginalnego postu na konsoli (nieprawidłowo zakończony ... brak podpisu kodu).W końcu udało mi się go uruchomić po utworzeniu pakietu SDK 4.2 systemu iOS. – fundead

0

ja nie wiem, czy rozwiązać problem, ale miałem to samo, że trzeba było. Wyjaśnię, jak rozwiązać.

Wymaga:

Xcode 4.3.2, iPhone z iOS 5.1.x, Mac.

Wszystko, czego potrzebujesz, to automatyczne podpisanie aplikacji. Wszystkie wykonane czynności są poprawne, więc jeśli masz aplikację zbudowaną z Xcode, musisz ją podpisać. Tworzenie certyfikatu siebie w pęku kluczy, a następnie przejdź do folderu (przez terminal) gdzie Xcode skompilować aplikację, a następnie napisać tak:

mac$ platform=/Developer/Platforms/iPhoneOS.platform 
mac$ allocate=${platform}/Developer/usr/bin/codesign_allocate 
mac$ export CODESIGN_ALLOCATE=${allocate} 
mac$ codesign -fs "Name" Program 

gdzie „Nazwa” to nazwa certyfikatu i Program jest nazwą Program.app (musisz określić .app). Skopiuj swoją aplikację w/Aplikacje przez ssh lub cyberduck lub iTunes ... Następnie respring i ciesz się!

+0

Nie, nie rozwiązałem problemu. Wypróbuję twoje rozwiązanie. Dzięki! – Kersch

1

Próbowałem zrobić to samo i nie udało mi się w kilku punktach, a następnie znalazłem Moustafa Hassan's blog, który miał kroki, które z powodzeniem zastosowałem.

Współpracuje z Xcode 4.6.3 testy na OS X 10.8.4 (na moim Hackintosh) i iOS 6.1.2 na moim iPadzie

To strona zawierała krok po kroku przykładami i ilustracjami, aby wykonać zadanie. To zajmuje tylko około 15 minut.

Jedyne, co mogę o tym nie myśleć, to jak uzyskać dostęp do/usr/local/bin na twoim urządzeniu OS X. Można to łatwo zrobić, wyświetlając ukryte pliki w terminalu [1].

[1]: defaults write com.apple.Finder AppleShowAllFiles TAK

Powiązane problemy