Testen Sie die iOS-App auf einem Gerät ohne Apple-Entwicklerprogramm oder Jailbreak

382

Wie kann ich eine iOS-Anwendung auf meinem iPod Touch testen, ohne mich für das Apple Developer Program zu registrieren oder meinen iPod zu jailbreaken?

Beides ist im Moment keine praktikable Option.

Ich möchte das Gerät selbst anstelle des Bildschirmsimulators testen, um zu sehen, wie es auf einem tatsächlichen iPod funktioniert.

Zyklon
quelle
2
Am 8. Juni gab Apple bekannt, dass mit Xcode 7 die Installation von Apps, die sie auf ihren Geräten entwickeln, ohne ein Apple Developer Program-Zertifikat möglich ist. Auf der Apple Developer-Website heißt es, dass wir uns nur mit einer Apple ID anmelden müssen.
Skyvin
Überprüfen Sie diese Antwort für die Verwendung der kostenlosen Bereitstellung in Details stackoverflow.com/questions/30973799/…
Aditya Deshmane
Ist das bezahlte Entwicklerkonto Ihr Problem? Oder möchten Sie Ihre UDID nicht bei Apple registrieren? Selbst für das kostenlose Konto in der akzeptierten Antwort müssen Sie ein kostenloses, registriertes Konto beim Apple-Entwicklerprogramm haben und die UDID des Geräts einem iOS-Entwicklungsbereitstellungsprofil hinzufügen.
Wottle
1
Hier ist eine weitere Schritt-für-Schritt-Anleitung: stackoverflow.com/a/33928777
Suragch
@wottle: "Bezahltes Entwicklerkonto" ist eine sichere Sache, da die Registrierung der UDID mit einem kostenlosen Konto vor fünf Jahren (zu dem Zeitpunkt, als diese Frage gestellt wurde) keine Option war. Und zu der Zeit sagte die akzeptierte Antwort (meine) einfach, dass es keine anderen Optionen gab.
BoltClock

Antworten:

429

Sieben Jahre nach der Einführung des App Store (10. Juli 2008) hat Apple endlich eine neue Funktion in Xcode 7 eingeführt, mit der Sie eine beliebige Anzahl von Apps auf jedem Ihrer Geräte bereitstellen und ausführen können, indem Sie sich einfach bei Ihrem Apple anmelden ICH WÜRDE. Sie benötigen keine kostenpflichtige Programmmitgliedschaft mehr, um Apps auf Ihrem eigenen Gerät bereitzustellen (und Sie müssen Ihr Gerät mit Sicherheit nicht mehr jailbreaken, wenn Sie dies nicht möchten).

Naja, sowieso nicht für die meisten Anwendungsfälle. Aus offensichtlichen Gründen sind bestimmte Funktionen und Berechtigungen, für die eine Programmmitgliedschaft erforderlich ist, wie z. B. Game Center- und In-App-Käufe, für Apps, die mit dieser Methode bereitgestellt werden, nicht verfügbar. Aus der Entwicklerdokumentation von Apple :

Starten Sie Ihre App auf Geräten mit Free Provisioning (iOS, watchOS).

Wenn Sie nicht am Apple Developer Program teilnehmen, können Sie Ihre App mithilfe der kostenlosen Bereitstellung auf Ihren Geräten erstellen und ausführen . Die für Ihre App verfügbaren Funktionen, die unter Hinzufügen von Funktionen beschrieben werden , sind jedoch eingeschränkt, wenn Sie nicht zum Apple Developer Program gehören.

Die genauen Schritte, um Ihre App auf Ihr iOS-Gerät oder Ihre Apple Watch zu übertragen, folgen sofort (Screenshots wurden zum leichteren Überfliegen weggelassen):

  1. Fügen Sie in Xcode Ihre Apple ID zu den Kontoeinstellungen hinzu, die unter Hinzufügen Ihres Apple ID-Kontos in Xcode beschrieben werden .

  2. Wählen Sie im Projektnavigator das Projekt und Ihr Ziel aus, um den Projekteditor anzuzeigen.

  3. Klicken Sie auf Allgemein und wählen Sie Ihren Namen aus dem Einblendmenü "Team".

  4. Schließen Sie das Gerät an Ihren Mac an und wählen Sie Ihr Gerät aus dem Menü der Schemasymbolleiste.

  5. Klicken Sie unter dem Team-Popup-Menü auf Problem beheben.

    Xcode erstellt ein kostenloses Bereitstellungsprofil für Sie und der Warnungstext im Popup-Menü "Team" wird ausgeblendet.

  6. Klicken Sie auf die Schaltfläche Ausführen.

    Xcode installiert die App auf dem Gerät, bevor die App gestartet wird.

Vor Xcode 7 war tatsächlich eine Programmmitgliedschaft erforderlich, um die Bereitstellungszertifikate zu signieren, die zum Bereitstellen von Apps auf Geräten erforderlich sind. Die einzige andere Alternative war das Jailbreaking. Mit Xcode 7 müssen Sie Ihr Gerät nicht mehr jailbreaken, nur um Apps auszuführen, die außerhalb des App Store verteilt sind, oder um Apps zu testen, wenn Sie es sich nicht leisten können, dem Programm beizutreten, oder um Apps bereitzustellen und zu verwenden, die Sie für Ihren persönlichen Gebrauch entwickelt haben Wenn Sie nicht beabsichtigen, sie über den App Store zu verteilen (in diesem Fall benötigen Sie wahrscheinlich ohnehin nicht die von der Programmmitgliedschaft angebotenen Berechtigungen).

BoltClock
quelle
Nur zu Ihrer Information: Ich habe Xcode 7 installiert und versucht, auf meinem Telefon zu laufen, aber ich konnte nicht alle Build-Abhängigkeiten richtig machen, also bin ich zurück zu Xcode 6 gewechselt und konnte endlich auf meinem eigenen Gerät laufen! Xcode 7 muss Ihrem Konto eine Lizenz hinzufügen, die Xcode 6 erkennt :)
Mister Mister
1
Ich habe gerade einige der Beispiel-Apps bereitgestellt, die ich in den letzten Wochen mit Xcode7 auf meinem iPAD Air erstellt habe. Bietet eine viel bessere Erfahrung, um Ihre App tatsächlich zu testen, ohne für das Abonnement bezahlen zu müssen. Dieser Beitrag war wirklich hilfreich. Danke Leute.
learn_develop
1
@BoltClock Ich denke auch, dass Sie klarer angeben sollten, wann diese Änderung von Apple vorgenommen wurde. "Sieben Jahre nach der Einführung des App Store" -> Die meisten Menschen erinnern sich wahrscheinlich nicht daran, wann der App Store erstellt wurde, und möchten ihn nicht nachschlagen oder rechnen.
Miscreant
5
Anstelle von Schema musste ich zu Produkt-> Ziel gehen. Dort musste ich mein Gerät auswählen. Dann hat es funktioniert. Denken Sie auch daran, die Installation solcher Apps auf Ihrem iPhone zuzulassen, indem Sie auf Einstellungen -> Allgemein -> Profil gehen. Ihr Entwicklerkonto wird angezeigt. Tipp Es an. Sie sollten die dort aufgeführte App sehen. Tippen Sie darauf. Tippen Sie auf "Vertrauen (Name hier)"
mutp
Swift 2 übernimmt ein funktionales Design-Paradigma und wird in Kürze Open Source sein. Xcode 7 und iOS 9 bieten den unscheinbaren und möglicherweise revolutionären aufstrebenden Entwicklern eine kostenlose Gerätebereitstellung. Wir leben wirklich in einer ideologisch reformierten Ära und was für eine Zeit es ist, am Leben zu sein.
lol
82

Es gibt eine Möglichkeit, dies zu tun.

Sie benötigen ROOT-Zugriff, um die folgende Datei zu bearbeiten.

Navigieren Sie zu /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdkder Datei und öffnen Sie sie SDKSettings.plist.

Erweitern Sie in dieser Datei DefaultProperties und ändern Sie CODE_SIGNING_REQUIRED in NO. Während Sie dort sind, können Sie auch ENTITLEMENTS_REQUIRED in ändern NO.

Sie müssen Xcode neu starten, damit die Änderungen wirksam werden. Außerdem müssen Sie dies für jede .sdk-Datei tun, die auf dem Gerät ausgeführt werden soll.

Nun, in den Projekteinstellungen können Sie ändern , Code Signing Identityzu Don't Code Sign.

Ihre App sollte jetzt erfolgreich auf Ihrem Gerät erstellt und installiert werden.

AKTUALISIEREN:

Es gibt einige Probleme mit dem iOS 5.1 SDK , bei denen diese Methode möglicherweise nicht genau gleich funktioniert. Alle anderen Updates werden hier aufgelistet, sobald sie verfügbar sind.

AKTUALISIEREN:

Sie finden den richtigen Weg zu SDKSettings.plistmit xcrun.

xcrun --sdk iphoneos --show-sdk-path

Neuer Speicherort für SDKSettings.plist für das iOS 5.1 SDK:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

WrightsCS
quelle
9
Dadurch wird eine nicht signierte App erstellt. Wie können Sie sie jedoch auf einem Gerät ohne Jailbreak installieren / ausführen?
David Gelhar
4
Es kann installiert werden, wird aber niemals geöffnet.
Domness
4
Ja, ab iOS5 ist dies noch möglich. Sie müssen weiterhin ldidIhre Binärdatei mit einem gefälschten Code signieren. code.google.com/p/networkpx/downloads/detail?name=ldid
WrightsCS
7
Das OP bat um eine Lösung ohne Jailbreak
Malhal
8
Bitte bereinigen Sie diese Antwort. Die Antwort selbst erwähnt nichts über das Signieren von gefälschtem Code mit ldid. In Ihren Kommentaren geben Sie einen Kommentar an, der besagt, dass das Signieren mit ldidnicht erforderlich ist, und in einem anderen Kommentar sagen Sie, dass dies der Fall ist. Sie sagen auch, dass diese Antwort nichts mit Jailbreaking zu tun hat, aber ich bin mir ziemlich sicher, dass dies der Fall ist. Durch Jailbreaking können Binärdateien ausgeführt werden, die keine gültigen Signaturen haben. Wenn Ihre App nicht signiert oder mit ldid gefälscht signiert ist, kann sie nicht auf einem Standard-iOS-Gerät ausgeführt werden ... es sei denn, Sie tun etwas anderes, das Sie hier nicht beschrieben haben.
Nate
55

Mit Xcode 7 benötigen Sie kein Entwicklerkonto mehr, um Ihre Apps auf Ihrem Gerät zu testen :

Geben Sie hier die Bildbeschreibung ein

Schau es dir hier an .

Bitte beachten Sie, dass dies offiziell von Apple unterstützt wird, sodass keine Geräte mit Jailbreak oder Tests auf dem Simulator erforderlich sind. Sie müssen jedoch Xcode 7 (derzeit zum Zeitpunkt dieses Beitrags in der Beta) oder höher verwenden.

Ich habe eine App ohne Entwicklerkonto erfolgreich auf meinem iPhone bereitgestellt. Sie müssen Ihr iCloud-Konto verwenden , um die Probleme mit dem Bereitstellungsprofil zu lösen. Fügen Sie einfach Ihr iCloud-Konto hinzu und weisen Sie es in der Dropdown-Liste " Team " (im Menü " Identität" ) zu. Den Rest sollte die Schaltfläche " Problem beheben" erledigen.


AKTUALISIEREN:

Einige Leute haben Probleme mit iOS 8.4 . Hier erfahren Sie , wie Sie das Problem beheben können .

Roberto
quelle
Es ist offiziell, aber immer noch im Beta-Modus
Fadi Obaji
Hat es jemand geschafft, diese neue Funktion zu nutzen? Funktioniert nicht für mich
Daniil
Hat für mich gearbeitet. Verwenden Sie XCode 7?
Roberto
Irgendwelche Tutorials? Kompilieren einer Pythonista-App für mein iPad
Luke Taylor
Wie muss die Bundle-ID sein?
Luke Taylor
12

Ich habe es nie versucht, aber bei einer Google-Suche sieht Jailcoder wie eine Lösung aus. Das Problem ist, dass das Gerät einen Jailbreak haben muss. Wenn jemand dies versucht, kommentieren Sie bitte und lassen Sie uns wissen, wie es funktioniert hat.

Firula
quelle
2
Hat perfekt für mich funktioniert. Der einzige ärgerliche Teil ist, dass Sie das Hinzufügen einiger Zertifikate zum Schlüsselbund genehmigen sollen, ohne Ihnen genau zu sagen, was sie tun. Sie sehen jedoch so aus, als würden Sie dies als manuellen Vorgang versuchen. Es ist ziemlich nahtlos. Ich bin in weniger als 5 Minuten von einer Neuinstallation von Xcode zu einer meiner Apps übergegangen, die auf meinem iPhone ausgeführt werden. Ich verwende Xcode 4 und iOS 5.0.1 Jailbroken.
Steinmetz
Großartig! danke für die antwort zurück @ cool_me5000. Ihre Erfahrung damit wird anderen Menschen helfen, die es versuchen möchten. Ich werde es eines Tages testen.
Firula
Dies ist veraltet und entspricht nicht der in der Frage dargelegten Anforderung, dies ohne Jailbreak zu tun.
Dgeske
8

Gehen Sie zu Build-Einstellungen , und legen Sie unter Codesignatur die Codesignaturidentität als iOS-Entwickler- und Bereitstellungsprofil als Automatisch fest .

Wählen Sie Ihr Gerät (jetzt sichtbar) aus der Dropdown-Liste aus und führen Sie Ihre App aus.

Geben Sie hier die Bildbeschreibung ein

Atul Kaushik
quelle
6

Die obigen JailCoder-Verweise verweisen auf eine Site, die nicht mehr existiert. Sie sollten anscheinend http://oneiros.altervista.org/jailcoder/ oder https://www.facebook.com/jailcoder verwenden

Matthew Pearson
quelle
Jailcoder ist ein sehr schönes und einfaches Dienstprogramm, mit dem Sie gefälschte Codes signieren und die App auf ein echtes Gerät herunterladen können. Sie müssen iPhone Developer- und iPhone Distribution-Zertifikate erstellen.
user914425
2

Ich habe gerade JailCoder www.jailcoder.com getestet und kann auf Geräten mit Jailbreak ausgeführt und debuggt werden. Sie benötigen lediglich eine unberührte Neuinstallation von xCode. Wenn nicht, deinstallieren Sie xCode und installieren Sie es erneut. Führen Sie JailCoder aus

razor7
quelle
1

Es lohnt sich, sich für das Apple-Entwicklerprogramm zu bewerben. Sie können Ad-hoc-Bereitstellung verwenden, um Ihre App an Tester und Testgeräte zu verteilen. Sie können Ihrem Entwicklerprogramm 100 Ad-hoc-Bereitstellungsgeräte hinzufügen.

Rob Vermeulen
quelle
17
Es wäre sicher einen Dollar wert. Aber 99 Dollar? Das letzte Mal, dass ich jemandem 99 Dollar bezahlt habe, um ein Programm, das ich geschrieben habe, auf meinem eigenen Computer installieren zu können, war ... nie. Und ich habe viele Programme geschrieben und viele Maschinen besessen.
Sean Worle
-1

Folge diesen Schritten:

1.Öffnen Sie den Xcode-> Wählen Sie das Projekt-> Wählen Sie Ziele-> Aktivieren Sie das Kontrollkästchen Automatisch signieren-> Fügen Sie dann Ihr Apple-Entwicklerkonto hinzu-> Bereinigen Sie das Projekt-> Erstellen Sie das Projekt-> Führen Sie alles aus.

Preetha
quelle