TestFlightはどのように実行しますか?


197

TestFlightは、iOSアプリ(脱獄されていないデバイス上)の無線ベータ配布を提供します。これはどのように行うことができますか?これはiOSの機能ですか、それとも脆弱性の悪用ですか?


すばらしい質問ですが、これが話題かどうかはわかりません。それは境界線です、IMO。そうは言っても、私もこれに対する答えを知りたいので、+ 1
モシェ

それがiOS機能である場合、それはきっとプロビジョニングをよりよく理解するのに役立ちます。
hpique

12
@Moshe:これが主題外だと思う理由を説明できますか?
Besi

したがって、質問は配布ツールに関するものであり、コードを記述する方法ではありません。そうは言っても、1年近く前にコメントを書きました。SOの環境は少し異なりました。
Moshe 2012年

8
これは非常に良い質問です。
誇り高きメンバー、

回答:


87

これは、TestFlightがサービスを展開する前に可能でした。この手法は、エンタープライズ配布メカニズムから生まれました。4.0以降、デバイスはWebからのインストールをサポートしています。

覚えておいてください。ベータ版ディストリビューションに署名する必要があります。UDIDの選択セットには、デバイスにインストールするだけでは無理です。彼らがしているのは、IPAからメールを一歩踏み出すことです。

見る:

更新:Test Flightは、開発中に使用した中で最も役立つツールの1つです。画像からIPAの電子メールを送信するだけでは控えめな表現でした。私は技術的なメカニズムを呼び出そうとしていました。彼らはベータプロセス全体を管理する素晴らしい仕事をしています。新しいデバイスを登録しています。ユーザーへの通知など


6
彼らはどのようにお金を稼ぐのですか、それはホームページに無料で書かれていますか?
ジョナサン。

1
将来的には、なんらかのプレミアムサービスが開始されると思います。今は無料で、新しいSDKは本当に印象的です。クラッシュログと使用状況情報をテストクライアントから直接収集し、dsymのアップロードに問題がなければ、それらを象徴することもできます。
ニック・

7
それは非常に印象的です、私はインターネットで「それが本当であるにはあまりにも良ければ、それは通常そうです」に慣れているだけです:)
ジョナサン。

私は彼らが本番環境でのサービスに課金することでお金を稼ぎ、ベータサービスを無料に保つと思います。彼らは今日、本番環境での使用を正式にサポートしておらず、サポートフォーラムで今後の「本番環境向けのソリューション」をほのめかしています。
Nils

5
@ニック私はあなたの答えが完全に正しくないと思います。You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device。企業の配布プロビジョニングプロファイルのためには、デバイスを指定する必要はありません、あなたはすることができます(少なくとも技術的に)任意のデバイス上のバイナリをインストールします。ただし、このライセンスでは、配布プロファイルが発行された会社内にのみインストールすることが制限されています。
Besi

91

この記事では、Apple OTA実装がどのように機能し、企業外でも使用できるかを示しました:iOSワイヤレスアプリの配布

完全なプロセスはAppleによって文書化されています。Appleは、デバイス登録し、プロファイルを使用してUDIDを取得するためのドキュメントとサンプルコードも公開したため、Webサイトはどのデバイスが呼び出しているかを検出できます。

強度が異なるいくつかの追加ソリューション:

  • iOSベータビルダー、ビルドを使用してWebサイトを作成するMacアプリケーション。結果のファイルをWebサーバーにアップロードするだけです。

  • Diawi:シンプルなWebサービス。IPAファイルをアップロードし、オプションでパスワードを設定して、テスターに​​リンクを送信します。

  • AppSendrTestflightと同様のベータビルドホスティング用のWebサービスですが、デバイス登録プロセスは含まれていません。ただし、新しいバージョンを自動的にアップロードするための展開ユーティリティを提供します。

  • HockeyKit:独自のPHP5サーバーでベータ版をホストするためのオープンソースプロジェクト。アプリ内アップデート用のクライアント、自動デバイス固有のWebサイト、複数のアプリケーションの処理などの追加機能を備えています。完全にファイルとディレクトリベース。

  • HockeyApp:ベータビルドのホスティング、アプリ内アップデート、統計、およびデバイスの登録、招待、募集を含むWebサービス。また、サーバー側のクラッシュレポートコレクション、シンボリケーション(すべてのスレッド用)、ベータ版およびアプリストアアプリ(iOS + Mac)のクラッシュグループ化も提供します。SDKはオープンソースであり、HockeyKitQuincyKitPLCrashReporterを使用しています(iOSでクラッシュレポートを収集する唯一の安全なソリューションです。この記事を参照してください)

注:私は、メインの開発者ですHockeyKitQuincyKit、との開発者の一人HockeyApp


5

Testflightは基本的に、すでに述べたように通常のアドホックを使用します。

これをUDID機能させるには、アドホックプロファイルに追加するために、すべてのデバイスにが必要です。新しいプロファイルでアプリを再コンパイルし、新しいビルドを再配布します。

UDIDOTA認証リクエストを使用してを取得できます。これは実際には、実際のプロファイルがデバイスにロールアウトされる前にMDMで実行されるステップです。基本的に、デバイスにそれ自体に関する詳細情報を要求し、それを自己指定サーバーに送り返します。

最初のステップはここに文書化されています:Apple OTA設定

Testflightは、登録プロセスの直後にこれを使用してUDID、電話番号などを収集すると思います...


4

はい、これはOTAを配布したい企業のお客様のためのiOSのコア機能です。

おそらく、UDIDをアプリと一緒にTestFlightに渡し、エンタープライズライセンスを使用してアプリを送信します。私は多くの技術的な詳細を見逃していると確信していますが、もっと知りたい場合は、Appleがこれに関するWWDC 2010のビデオを公開しています。

developer.apple.comにログインし、WWDC 2010ビデオに移動し、リンクを使用してビデオにアクセスします。必要なビデオは「セッション108-モバイルデバイスの管理」です。OTAで何が可能か、OTAプロビジョニングを実行するために必要な手順については、非常に参考になります。


0

ストックiOSデバイスは、そのデバイスのUDIDを持っている開発者からアドホックアプリをロードするユーザーを実行することに対して「脆弱」であり、そのUDIDをAppleの開発者ポータルで許可されている100台のデバイスに登録します。

OTAディストリビューションは、登録済み開発者からアドホックベータテストディストリビューションをインストールするもう1つの方法です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.