Wie kann ich eine iPhone-Anwendung von Xcode zu einem echten iPhone-Gerät bereitstellen?
-
05-07-2019 - |
Frage
Wie kann ich eine iPhone-Anwendung von Xcode zu echtem iPhone-Gerät bereitstellen, ohne ein US $ 99 Apple-Zertifikat mit?
Lösung
Es klingt wie die Anwendung nicht signiert ist. Herunterladen ldid von Cydia und dann verwenden, etwa so: ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
Auch sicher sein, dass die binären als ausführbar gekennzeichnet ist: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
Andere Tipps
Ich habe eine Mischung aus zwei howtos verwendet: Jasons und alex . Mit dem zweiten haben wir den Vorteil, dass sie zu debuggen. Ich werde meistens einfach kopieren sowohl unten (und vereinfachen alex):
Update Januar 2012: diese auf SDK funktioniert immer noch 4.2.1 und iOS 5.0.1 - ich habe es gerade getestet alles auf einem neue Computer und Gerät!
1. Erstellen Zertifikat
selbstsigniertenPatch Ihr iPhone SDK die Verwendung dieses Zertifikats zu ermöglichen:
-
Starten Sie Keychain Access.app. Keine Elemente ausgewählt wird, aus dem Schlüsselanhänger-Menü auswählen Zertifikatsassistent, dann ein Zertifikat erstellen.
- Name: iPhone Developer
- Zertifikatstyp: Code Signing
- Lassen Sie mich Standardwerte überschreiben: Ja
-
Klicken Sie auf Weiter
- Gültigkeit: 3650 Tage
-
Klicken Sie auf Weiter
-
Blank aus die E-Mail Adressfeld ein.
-
Klicken Sie auf Weiter bis zur vollständigen .
Sie sollten sehen, "Das Wurzelzertifikat ist nicht vertrauenswürdig" . Dies wird erwartet.
-
das iPhone SDK Stellen Sie das selbst signiertes Zertifikat zu ermöglichen, verwendet werden:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Wenn Sie Xcode geöffnet haben, starten Sie ihn neu, damit diese Änderung wirksam wird.
Und wenn Sie auf iOS sind 5, das ist es! Probieren Sie es jetzt! Es kann nicht das Debuggen ermöglichen, aber die App wird es!
Ich war von diesem sehr überrascht, weil, wie sollten Sie wissen , habe ich keine Ahnung, auf was all diese Hackings sind alle über! Alles, was ich tat, war die Verbesserung ein wenig, was ich an anderer Stelle gefunden, wie ich darauf.
Also ja, die ganze Methode nicht die gleiche Art und Weise arbeitet mehr und ich konnte keine neuen ... Mit Ausnahme von diese, die verwendet ein Tool namens Theos aber ich nicht durchgehen könnte der gesamte Prozess.
Schließlich, wenn Sie benötigen deinstallieren für welchen Gründen auch immer, überprüfen Sie das Ende dieses Beitrags. In meinem Fall musste ich, weil ich nicht herausfinden konnte, warum alle der blauen diese ganze Methode aufgehört zu arbeiten, und ich konnte nicht mehr kümmern, da wir schon die lange gewartet Lizenz bekamen. (Freaking DUNS-Nummer so lange dauert ...)
.
.
.
.
.
2. Aktivieren Sie Xcode Build auf jailbroken Gerät
-
Auf Ihrem jailbroken iPhone, installieren Sie die App AppSync von Quelle Hinzufügen ** http : //repo.hackyouriphone.org **
-
SDK Anforderungen entfernen für die Code-Zeichen und Berechtigungen (ich liebe sed !):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
-
Achten Sie zum
iPhoneOS5.0.sdk
Teil. Wenn Sie zum Beispiel iOS 4.2 SDK verwenden, einfach ersetzen Sie es entsprechend:sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
-
Beschließen Sie die Anforderung Entfernung durch Xcode Patchen. Das bedeutet, binäre Bearbeitung:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 printf "\xc3\x26\x00\x00" >> working /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original /bin/mv working iPhoneOS\ Build\ System\ Support chmod a+x iPhoneOS\ Build\ System\ Support
Wenn Sie Xcode geöffnet haben, starten Sie ihn für diese Änderung (und letzte) zu übernehmen.
-
Öffnen "Projekt> Projekteinstellungen bearbeiten" (aus dem Menü). Klicken Sie auf das "Build" Tab. Finden "Code Signing-Identität" und sein Kind "Any iPhoneOS Device" in der Liste, und beide auf den Eintrag "Do not-Code-Zeichen „ :
Danach fühlen Sie sich frei Schritt rückgängig zu machen 3. Zumindest in meinem Fall ging es ganz gut.
-
Einstellung Xcode Code Schild mit unserem Maße selbst signiertes Zertifikat (den ersten How-To). Dieser Schritt kann wahrscheinlich übersprungen werden, wenn Sie nicht in der Lage zu debuggen sein:
mkdir /Developer/iphoneentitlements401 cd /Developer/iphoneentitlements401 curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py chmod 777 gen_entitlements.py
Schließen Sie Ihr iPhone in und offen Xcode. Open Window> Organizer. Wählen Sie das Gerät aus der Liste auf der linken Seite, und klicken Sie auf „Verwenden Sie für die Entwicklung.“ Sie werden für eine Provisioning-Website Login aufgefordert werden, klicken Sie auf Abbrechen. Es ist es legitim Bereitstellung einfacher zu machen, aber nicht illegitim macht nicht-Provisioning schwieriger.
Jetzt Sie haben für jedes neue Projekt diesen letzten Teil zu tun, Sie machen . Gehen Sie in das Menü Projekt> New Build Phase> New Run Script Build-Phase. In dem Fenster, das Kopieren / Einfügen:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate if [ "${PLATFORM_NAME}" == "iphoneos" ]; then /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" fi
.
.
.
.
Deinstallieren
Für den 1. Teil:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
Für den 2. Teil:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
Falls Sie den Schritt zu tun haben 3 statt 2, es ist einfach zu modifizieren dementsprechend auch:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
für den Rest wird gerade zurückkehrt, was Sie auf XCode tat und Löschen von /Developer/iphoneentitlements401/gen_entitlements.py
wenn Sie wollen:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
Free Provisioning nach Xcode 7
Um Ihre Anwendung auf einem echten Gerät zu testen, anstatt zahlen die Apple Developer Gebühr (oder Ihr Gerät jailbreak), können Sie die neue kostenlose Bereitstellung verwenden, die Xcode 7 und iOS 9 unterstützt.
Hier werden die Schritte mehr oder weniger von die Dokumentation (was ziemlich gut ist, ist es so eine Lese geben):
1. Fügen Sie Ihre Apple ID in Xcode
Gehen Siezu XCode> Einstellungen> Konten tab> Schaltfläche Hinzufügen (+)> Hinzufügen Apple-ID. Siehe die Dokumentation für weitere Hilfe .
2. Klicken Sie auf die Registerkarte Allgemein im Projektnavigator
3. Wählen Sie Ihren Apple-ID aus dem Team-Popup-Menü.
4. Schließen Sie das Gerät und wählen Sie sie in das System-Menü.
5. Klicken Sie auf die Fix Probleme Taste
Wenn Sie einen Fehler über die Paketnamen ungültig zu bekommen, ist es eindeutig etwas ändern.
6. Führen Sie Ihre App
In Xcode, klicken Sie auf das Erstellen und Ausführen-Taste.
7. Vertrauen Sie auf die App-Entwickler in den Geräteeinstellungen
Nach Ihrer App ausgeführt wird, erhalten Sie einen Sicherheitsfehler erhalten, weil die App, die Sie ausführen möchten, nicht aus dem App Store ist.
Auf den Gerät , gehen Sie zu Einstellungen> Allgemein> Profile> your-Apfel-ID-Name > Vertrauen your-Apfel-ID-Namen > Trust.
8. Führen Sie Ihre App auf Ihrem Gerät wieder.
Das ist es. Sie können jetzt Ihre eigenen (oder andere Anwendungen, die Sie den Quellcode für haben) auszuführen, ohne den $ 99 Dollar auszuteilen zu haben. Danke, Apfel, für schließlich diese ermöglicht.
Sie können nicht, nicht, wenn Sie Anwendungen mit dem offiziellen SDK gebaut sprechen und gerade von Xcode bereitstellen.
Sie müssen auf Ihr Gerät jailbreaken.
Es gibt einen Weg iPhone-Apps zu implementieren, ohne zu zahlen Apfel Sie werden Ihr Gerät jailbreak und die Anweisungen in http://www.alexwhittemore.com/ folgen? p = 398
Nichts, was ich je gesehen habe signalisiert, dass Sie können Ad-hoc zu einem echten iPhone bereitstellen, ohne einen (bezahlten) -Zertifikat.
Ich wollte durch den Apple Developer gestern Abend und es in der Bereitstellungszertifikat fand ich so etwas wie - „Signing Teammitglieder“. Ich denke, es ist eine Möglichkeit, die Teammitglieder zu dem bezahlten Profil hinzuzufügen. Sie können nur auf die App-ID Owner (bezahlte ein) stellen Sie als Teammitglied hinzuzufügen. Ich bin mir nicht sicher. Noch immer auf der Suche.
Nein, es ist einfach, dies zu tun. In Xcode, stellen Sie die aktive Konfiguration auf Release. Ändern Sie das Gerät vom Simulator zum Gerät - was auch immer SDK. Wenn Sie direkt möchten Ihr iPhone exportieren, verbinden Sie es mit Ihrem Computer. Drücken Sie Build and Go. Wenn Ihr iPhone ist nicht an den Computer angeschlossen, wird eine Meldung kommen zu sagen, dass Ihr iPhone nicht angeschlossen ist.
Wenn dies auf Sie zutrifft: (iPhone wurde nicht angeschlossen)
Gehen Sie zu Ihrem Projektordner und dann in den Build-Ordner im Innern. Zum Release-iphoneos Ordner und nehmen Sie die App nach innen, per Drag & Drop auf iTunes-Symbol. Wenn Sie Ihre iTouch Gerät synchronisieren, wird es auf das Gerät kopieren. Es wird auch in iTunes als Anwendung für das iPhone erscheinen.
Hope, das hilft!
PS: Wenn es etwas über ein Zertifikat nicht gültig sagt, klicken Sie einfach auf das Projekt in Xcode, das kleine Projektsymbol im Dateistapel nach links und drücken Sie Apfel + I oder tun Get Info in der Menüleiste . Klicken Sie auf Erstellen an der Spitze. Unter Signing-Code, Code Signing Identität ändern -. Alle Geräte iPhone OS Anmeldung werden Sie nicht
Das ist wirklich alles hängt davon ab, welche Version von Xcode Sie verwenden als verschiedene Versionen unterschiedliche Methoden verwenden, um Ihr iPhone ohne Provisioning-Profil bereitstellen.
Xcode 3.2.1 ist eine gute Version und ist leicht zu sortieren, aber wir müssen wissen, welche Version Sie verwenden.
Lösung von Cawas geschrieben arbeitet perfekt mit XCode4 auch. Allerdings gibt es einige Änderungen an IDE UI, so müssen Sie einige der Forschung machen Run Script zu finden:)
Im Projekt-Navigator-Ansicht klicken Sie auf das Stammelement des Projekts, dann im mittleren Fenster Ziel auswählen, klicken Sie dann die Phasen Registerkarte Erstellen und unten sehen Sie, Build-Phase Schaltfläche Hinzufügen, klicken Sie und wählen Sie Hinzufügen Skript ausführen, dann Paste "Co-Design" Skript geschrieben von Cawas.
Es gibt keine Abhilfe. Sie können nur Ad-hoc-Anwendungen bereitstellen, wenn sie mit dem Gerät registriert sind. Dies verhindert, dass Sie von Ihrem eigenen App-Store-Gebäuden ..