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.

War es hilfreich?

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:

  1. 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:Ja

  2. Klicken Sie auf Weiter

    Gültigkeit:3650 Tage

  3. Klicken Sie auf Weiter

  4. Leeren Sie das Feld E-Mail-Adresse aus.

  5. Klicken Sie auf „Weiter“, bis der Vorgang abgeschlossen ist.

    Es sollte „Dieses Stammzertifikat ist nicht vertrauenswürdig“ angezeigt werden.Dies wird erwartet.

  6. 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):

  1. Projekt, Aktives SDK festlegen, Gerät festlegen und Aktive Build-Konfiguration festlegen, Version.

  2. Kompilieren Sie Ihr Projekt normal (mit Build, nicht mit Build & Go).

  3. 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/

  4. 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

Probieren Sie es hier aus https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top