Frage

So automatisieren Sie den Prozess der Verteilung einer Anwendung für den Over Air Download. Um über die Luft herunterzuladen, müssen Sie sich im Vertriebsprofil befinden (Ich bin mir nicht sicher, ob der Benutzer mehr als eine davon herunterladen muss, um mehr als eine App herunterzuladen.)

Die Schritte sind:

  • Bauen und archivieren und auf der Festplatte sparen
  • Hochladen zur Website, die alte Version ersetzen
  • Aktualisieren iPhone -Website mit Datum

Die Antwort ist unten, meine lange Antwort. Anfangs war dies eine Frage, aber nach einer Weile habe ich sie selbst gelöst. Sie können es sogar einrichten, damit Sie, wenn Sie eine bestimmte E -Mail senden, sie erstellt, damit Sie Code unterwegs schreiben können (mit Dropbox und DropText), dann auf Ihrem Telefon installieren und die Unterschiede ansehen.

Update (2012):https://testflightapp.com/ hat erhebliche Verbesserungen an ihrem Bereitstellungssystem vorgenommen, einschließlich der Verfolgung der Benutzernutzung. Ich glaube, dass es sich bei diesen Ergänzungen möglicherweise lohnt, das Bereitstellungssystem von ihnen zu bewirken, um diese zusätzlichen Funktionen zu erhalten. Man könnte das beiden System kombinieren, wobei mein System mithilfe meines Systems Code auf ein iPad schreibt, auf einem Remote -Computer erstellt und kompiliert und dann für Entwicklungstests auf dem iPad installiert und dann TestFlight für Beta -Benutzer verwendet wird. Oder verwenden Sie einfach den Testflug vollständig.

War es hilfreich?

Lösung

Website -Dateilayout

  • name.com/index.php (iPhone -Site, optional, aber empfohlen)
  • name.com/application/index.php (Basic Auto Link erstellen Site)
  • name.com/application/application.ipa (Nur Datei, die aktualisiert werden müssen)
  • name.com/application/application.plist
  • name.com/application/application57.png
  • name.com/application/application512.png
  • name.com/application/application_distribution_profile.mobileProvision

Lösung mit Automator:

Erste Aktion: Shell -Skript ausführen Erstellen und Archivieren und Speichern in einer .IPA -Datei. Es kann eine Weile dauern, um herauszufinden, wie dies so geändert werden kann, dass dies zu Ihrer Situation passt, wie sie es bei mir getan hat (dies funktioniert möglicherweise nicht mit Xcode 4, und wenn Sie Probleme haben, nur in Xcode zu erstellen und zu archivieren)

PROJDIR="/Users/username/Xcode/applicationfolder"
PROJECT_NAME="application"
APPLICATION_NAME="Application"
TARGET_SDK="iphonesimulator4.0"
PROJECT_BUILDDIR="${PROJDIR}/build/Distribution-iphoneos"
TARGET_TEST_NAME="application"
BUILD_HISTORY_DIR="${PROJDIR}/distribution/" #where you want the .ipa to go
DEVELOPER_NAME="First Last (TMTE9G3NGS)"
PROVISONING_PROFILE="/Users/username/Xcode/Application_Distribution_Profile.mobileprovision"

# compile project
echo Building Project
cd "${PROJDIR}"
xcodebuild -target "${PROJECT_NAME}" -sdk "${TARGET_SDK}" -configuration Distribution

#Check if build succeeded
if [ $? != 0 ]
then
  exit 1
fi

/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILDDIR}/${PROJECT_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}"

Aktion zwei: Finderartikel holen

Die Anwendung .IPA -Datei, die gerade gespeichert wurde.

Aktion Drei: Upload auf FTP Server hochladen

Google für das Skript (CAN KANN URL) Es ist jedoch leicht zu finden sein. Verwenden Sie dieses Skript, um die Datei so hochzuladen, wo Sie sie möchten. In meinem Fall name.com/application/application.ipa

Nun zum Ende der Website.

Wenn Benutzer eine grundlegende Möglichkeit haben möchten, dass Benutzer die Datei herunterladen, setzen Sie einfach die index.php -Datei (unten erstellt), die Application.plist -Datei (unten erstellt), die .IPA -Datei und das 57 Pixel und 512 Pixel -Bild in einem Mappe.

Ich habe noch einen Schritt weiter gegangen und habe eine iPhone -HTML -Site erstellt, auf die Sie gehen können, die auch zeigt, wann die Datei zuletzt aktualisiert wurde. Sie können diese Site mit dieser Vorlage erstellen: http://snipt.org/vmup/ Ich musste die grundlegende Website verwenden, um die URL zu kopieren, die sie für die Links zum IPA und der MobileProvision erstellt hat. Hier ist ein Snippet, den ich für den Link mit einem automatischen Aktualisierungsdatum habe. Für den zuletzt aktualisierten Text musste ich die Datei in ein .php ändern

<li><a href="URL FROM BASIC SITE HERE"><span class="menuname">Install Application Name</span><span class="itemarrow"></span></a></li>

<sup>
&nbsp; &nbsp; Last Updated: <?= date("m/d/Y H:i",filemtime("applicationfolder/application.ipa")) ?>  (TIME ZONE HERE)
<sup>

Grundlegende automatische Link Erstellen von Anwendungsindexdatei:

<?php  $ipas = glob('*.ipa'); $provisioningProfiles = glob('*.mobileprovision'); $plists = glob('*.plist');  $sr = stristr( $_SERVER['SCRIPT_URI'], '.php' ) === false ?  $_SERVER['SCRIPT_URI'] : dirname($_SERVER['SCRIPT_URI']) . '/'; $provisioningProfile = $sr . $provisioningProfiles[0]; $ipa = $sr . $ipas[0]; $itmsUrl = urlencode( $sr . 'index.php?plist=' . str_replace( '.plist', '', $plists[0] ) );   if ($_GET['plist']) { $plist = file_get_contents( dirname(__FILE__)  . DIRECTORY_SEPARATOR  . preg_replace( '/![A-Za-z0-9-_]/i', '', $_GET['plist']) . '.plist' ); $plist = str_replace('_URL_', $ipa, $plist); header('content-type: application/xml'); echo $plist; die(); }   ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Install iOS App</title> <style type="text/css">  li { padding: 1em; }  </style> </head> <body> <ul> <li><a href="<? echo $provisioningProfile; ?>">Install Team Provisioning File</a></li> <li><a href="itms-services://?action=download-manifest&url=<? echo $itmsUrl; ?>"> Install Application</a></li> </ul> </body> </html>

Anwendungsdatei:

<?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>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>IPA FILE LINK HERE</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>URL FOR 512 PIXEL IMAGE HERE</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>URL FOR 57 PIXEL IMAGE HERE</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>COM.COMPANY.APPLICATION</string>
                <key>bundle-version</key>
                <string>VERSION NUMBER HERE (YOU DON'T REALLY NEED TO UPDATE IT UNLESS YOU WANT TO)</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>APPLICATION NAME HERE</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top