Frage
Wenn ich eine Anwendung auf meinem Mac erstelle, gibt es eine Möglichkeit, sie auf einem iPhone zum Laufen zu bringen, ohne den App Store zu durchsuchen?
Es spielt keine Rolle, ob das iPhone einen Jailbreak haben muss, solange ich weiterhin eine mit dem offiziellen SDK erstellte Anwendung ausführen kann.Aus Gründen, auf die ich nicht näher eingehen werde, kann ich dieses Programm nicht über den App Store anbieten.
Lösung
Offizielles Entwicklerprogramm
Für ein Standard-iPhone müssen Sie 99 US-Dollar pro Jahr bezahlen, um Mitglied des Entwicklerprogramms zu werden.Anschließend können Sie Ihre Anwendung über das Ad-hoc-System auf bis zu 100 Geräten installieren.Das Entwicklerprogramm verfügt über die Details, erfordert jedoch das Hinzufügen von UUIDs für jedes der Geräte zu Ihrem Anwendungspaket.UUIDs können am einfachsten mit abgerufen werden Ad-hoc-Helfer im App Store erhältlich.Weitere Einzelheiten zu dieser Methode finden Sie bei Craig Hockenberry Betatest auf iPhone 2.0 Artikel
iPhone mit Jailbreak
Für iPhones mit Jailbreak können Sie die folgende Methode verwenden, die ich persönlich mit dem getestet habe Beschleunigungsmesserdiagramm Beispiel-App auf iPhone OS 3.0.
Erstellen Sie ein selbstsigniertes Zertifikat
Zuerst müssen Sie ein selbstsigniertes Zertifikat erstellen und Ihr iPhone SDK patchen, um die Verwendung dieses Zertifikats zu ermöglichen:
Starten Sie die Keychain Access.app.Wenn keine Elemente ausgewählt sind, wählen Sie im Menü „Schlüsselbund“ die Option „Zertifikatassistent“ und dann „Zertifikat erstellen“.
Name:iPhone-Entwickler
Art des Zertifikats:Code-Signierung
Lassen Sie mich die Standardeinstellungen überschreiben:JaKlicken Sie auf Weiter
Gültigkeit:3650 Tage
Klicken Sie auf Weiter
Leeren Sie das Feld E-Mail-Adresse aus.
Klicken Sie auf „Weiter“, bis der Vorgang abgeschlossen ist.
Es sollte „Dieses Stammzertifikat ist nicht vertrauenswürdig“ angezeigt werden.Dies wird erwartet.
Stellen Sie das iPhone SDK so ein, dass das selbstsignierte Zertifikat verwendet werden kann:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Wenn Sie Xcode geöffnet haben, starten Sie es neu, damit diese Änderung wirksam wird.
Manuelle Bereitstellung über WLAN
Die folgenden Schritte erfordern openssh
, Und uikittools
zuerst installiert werden.Ersetzen jasoniphone.local
mit dem Hostnamen des Zielgeräts.Stellen Sie sicher, dass Sie auf beiden Seiten Ihr eigenes Passwort festlegen mobile
Und root
Benutzer nach der Installation von SSH.
So kompilieren und installieren Sie Ihre Anwendung manuell als System-App auf dem Telefon (unter Umgehung des Installationssystems von Apple):
Projekt, Aktives SDK festlegen, Gerät festlegen und Aktive Build-Konfiguration festlegen, Version.
Kompilieren Sie Ihr Projekt normal (mit Build, nicht mit Build & Go).
Im
build/Release-iphoneos
Verzeichnis haben Sie ein App-Bundle.Verwenden Sie Ihre bevorzugte Methode, um dies nach /Applications auf dem Gerät zu übertragen.scp -r AccelerometerGraph.app root@jasoniphone:/Applications/
Teilen Sie SpringBoard mit, dass die neue Anwendung installiert wurde:
ssh mobile@jasoniphone.local uicache
Dies ist nur erforderlich, wenn Sie Anwendungen hinzufügen oder entfernen.Aktualisierte Anwendungen müssen lediglich neu gestartet werden.
Um Ihnen die Arbeit bei der Entwicklung zu erleichtern, können Sie die SSH-Schlüsselauthentifizierung einrichten und diese zusätzlichen Schritte als benutzerdefinierten Build-Schritt in Ihr Projekt einfügen.
Beachten Sie, dass wenn Sie die Anwendung später entfernen möchten, dies nicht über die Standard-SpringBoard-Schnittstelle möglich ist und Sie SSH verwenden und das SpringBoard aktualisieren müssen:
ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache
Andere Tipps
Ja, sobald Sie dem iPhone-Entwicklerprogramm beigetreten sind und Apple 99 US-Dollar bezahlt haben, können Sie Ihre Anwendungen auf bis zu 100 iOS-Geräten bereitstellen.
- Erstellen Sie Ihre App
- Auf eine Crack-Site hochladen
- (Wenn Ihre App gut genug ist) wird die Crack-Version wenige Minuten später veröffentlicht und steht für alle zum Download bereit ;-)
Mit der Hilfe von dieser Beitrag, Ich habe ein Skript erstellt, das zur schnellen Bereitstellung über die App Installous installiert wird:
# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist
cd $CONFIGURATION_BUILD_DIR
# zip up the HelloWorld directory
/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist
Was in dem oben genannten Beitrag fehlt, sind die iTunes-Metadaten.Ohne dies wird Installous Apps nicht korrekt installieren.Hier ist ein Beispiel für iTunes-Metadaten:
<?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>appleId</key>
<string></string>
<key>artistId</key>
<integer>0</integer>
<key>artistName</key>
<string>MYCOMPANY</string>
<key>buy-only</key>
<true/>
<key>buyParams</key>
<string></string>
<key>copyright</key>
<string></string>
<key>drmVersionNumber</key>
<integer>0</integer>
<key>fileExtension</key>
<string>.app</string>
<key>genre</key>
<string></string>
<key>genreId</key>
<integer>0</integer>
<key>itemId</key>
<integer>0</integer>
<key>itemName</key>
<string>MYAPP</string>
<key>kind</key>
<string>software</string>
<key>playlistArtistName</key>
<string>MYCOMPANY</string>
<key>playlistName</key>
<string>MYAPP</string>
<key>price</key>
<integer>0</integer>
<key>priceDisplay</key>
<string>nil</string>
<key>rating</key>
<dict>
<key>content</key>
<string></string>
<key>label</key>
<string>4+</string>
<key>rank</key>
<integer>100</integer>
<key>system</key>
<string>itunes-games</string>
</dict>
<key>releaseDate</key>
<string>Sunday, December 12, 2010</string>
<key>s</key>
<integer>143441</integer>
<key>softwareIcon57x57URL</key>
<string></string>
<key>softwareIconNeedsShine</key>
<false/>
<key>softwareSupportedDeviceIds</key>
<array>
<integer>1</integer>
</array>
<key>softwareVersionBundleId</key>
<string>com.mycompany.myapp</string>
<key>softwareVersionExternalIdentifier</key>
<integer>0</integer>
<key>softwareVersionExternalIdentifiers</key>
<array>
<integer>1466803</integer>
<integer>1529132</integer>
<integer>1602608</integer>
<integer>1651681</integer>
<integer>1750461</integer>
<integer>1930253</integer>
<integer>1961532</integer>
<integer>1973932</integer>
<integer>2026202</integer>
<integer>2526384</integer>
<integer>2641622</integer>
<integer>2703653</integer>
</array>
<key>vendorId</key>
<integer>0</integer>
<key>versionRestrictions</key>
<integer>0</integer>
</dict>
</plist>
Ersetzen Sie natürlich alle Instanzen von MyApp durch den Namen Ihrer App und MyCompany durch den Namen Ihres Unternehmens.
Grundsätzlich wird dies auf jedem Gerät mit Jailbreak installiert, auf dem Installous installiert ist.Nach der Einrichtung führt dies zu einer sehr schnellen Bereitstellung, da es von überall aus installiert werden kann. Laden Sie es einfach auf die Website Ihres Unternehmens hoch, laden Sie die Datei direkt auf das Gerät herunter und kopieren/verschieben Sie sie dorthin ~/Documents/Installous/Downloads
.
Mit dem kommenden Xcode 7 ist es jetzt möglich, Apps ohne eine Apple-Entwicklerlizenz auf Ihren Geräten zu installieren, also ist dies jetzt möglich überspringen Laden Sie den App Store herunter und Sie müssen Ihr Gerät nicht jailbreaken.
Jetzt kann jeder seine App auf sein Apple-Gerät herunterladen.
Xcode 7 und Swift erleichtern es jedem, Apps zu erstellen und sie direkt auf ihren Apple -Geräten auszuführen.Melden Sie sich einfach mit Ihrer Apple -ID an und verwandeln Sie Ihre Idee in eine App, die Sie auf Ihrem iPad, iPhone oder Apple Watch berühren können.Laden Sie Xcode 7 Beta herunter und probieren Sie es noch heute selbst aus.Eine Programmmitgliedschaft ist nicht erforderlich.
Zitiert aus: https://developer.apple.com/xcode/
Aktualisieren:
XCode 7 ist jetzt veröffentlicht:
Kostenlose Entwicklung auf dem Gerät Jetzt kann jeder kostenlos seine eigene App auf einem Gerät ausführen und testen.Sie können Ihre eigenen Kreationen auf einem Mac, iPhone, iPad, iPod Touch oder Apple Watch ohne Gebühren und ohne Programme ausführen und debuggen.Sie müssen lediglich Ihre kostenlose Apple -ID in Xcode eingeben.Sie können sogar dieselbe Apple -ID verwenden, die Sie bereits für den App Store oder iTunes verwenden.Sobald Sie Ihre App perfektioniert haben, kann das Apple Developer -Programm Ihnen helfen, sie im App Store zu erhalten.
Sehen Starten Sie Ihre App auf Geräten Ausführliche Informationen zum Installieren und Ausführen von Geräten.
Es ist erwähnenswert, dass es bei einem Jailbreak möglich (wahrscheinlich?) ist, dass ein iPhone-Betriebssystem-Update Ihre Fähigkeit zum Ausführen dieser Apps beeinträchtigt.Ich würde den offiziellen Weg gehen und die 99 $ bezahlen, um autorisiert zu werden.Sie müssen sich nicht nur keine Sorgen machen, dass Ihre Apps beschädigt werden, sondern haben auch die Möglichkeit (sofern Sie dies wünschen), Ihre Apps im Store zu veröffentlichen.
Nachdem Sie die App auf die von @Jason Weathered beschriebene Weise auf das iPhone kopiert haben, stellen Sie sicher, dass Sie die App auf „chmod +x“ setzen, da sie sonst nicht ausgeführt wird.
*Änderungen/Hinweise, damit dies funktioniert Xcode 3.2.1 Und iPhone SDK 3.1.2
Manuelle Bereitstellung über WLAN
2) Stellen Sie sicher, dass Sie Xcode neu starten, nachdem Sie die Info.plist geändert haben
3) Der Befehl „uicache“ wurde nicht gefunden. Die Verwendung von killall -HUP SpringBoard hat bei mir einwandfrei funktioniert.
Ansonsten kann ich bestätigen, dass es gut funktioniert.
Mac-Benutzer funktionierten mit PwnageTool 3.1.4 hervorragend für Jailbreaking (DL über Torrent).
Wenn Sie patchen /Developer/Platforms/iPhoneOS.platform/Info.plist
und dann versuchen, eine auf dem Gerät laufende Anwendung mit einem echten Entwicklungsprofil von Apple zu debuggen, wird wahrscheinlich nicht funktionieren.Symptome sind seltsame Fehlermeldungen von com.apple.debugserver
und dass Sie jede Bundle-ID verwenden können, ohne dass beim Erstellen in Xcode eine Fehlermeldung angezeigt wird.Die Lösung ist die Wiederherstellung Info.plist
.
Sie können verwenden AppBox, Eine Mac-Anwendung, die Ihr Dropbox-Konto verwendet, um Ihnen Ad-hoc- und Unternehmens-Apps zu verteilen, wenn Sie sie über einen anderen Browser installieren möchten.
https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases
Optionen
IPA archivieren und hochladen
- Wählen Sie einfach Projekt/Arbeitsbereich aus Archiv -> mach ipa -> IPA hochladen -> Mail senden -> und Mac herunterfahren
Nur IPA hochladen
- Wählen Sie einfach die IPA-Datei aus IPA hochladen -> Mail senden -> und Mac herunterfahren
Besonderheit
- Behalten Sie den gleichen Link bei
- Diese Funktion behält die gleiche Kurz-URL für alle zukünftigen IPAs bei, die mit derselben Bundle-ID hochgeladen werden.
- Wenn diese Option aktiviert ist, können Sie auch den vorherigen Build mit derselben URL herunterladen.
- Automatische E-Mail Link zur App-Verteilung
- Mac automatisch herunterfahren nach der Verteilung
- Maximale Upload-Größe => Entspricht dem Speicherplatz Ihres Dropbox-Kontos
- Ablauf der hochgeladenen App => Bis Sie es aus Ihrer Dropbox löschen
- Installationen pro App => Unbegrenzt
Armaturenbrett
*
*
Wird in einer zukünftigen Version verfügbar sein
AppBox vs. Diawi
Bildschirmfoto
Laden Sie IPA hoch
IPA archivieren und hochladen
IPA wird hochgeladen