web-dev-qa-db-ja.com

ワイヤレスiPhoneアプリの配布-itms-servicesプロトコルの問題

Apple およびその他のブログ posts からのすべての指示に従いました。アプリをアーカイブし、.plistおよび.ipaファイルを作成し、サーバーに配置してリンクしました。プロビジョニングプロファイルを問題なくインストールできます。しかし、リンクをクリックしてアプリを(iPhoneのサファリで)インストールしても、何も起こりません。エラーメッセージはありません。なし。リンクは次のようになります。

<a href="itms-services://?action=download-manifest&url=http://mydomain.com/test/myApp.plist">Install the app</a>

なぜこれが機能しないのでしょうか? itms-servicesプロトコルは死んでいるようです。 MIMEタイプは問題ありません(アドレスバーでplistファイルをポイントすると、テキストとして表示されます)。

23
sol

マニフェストファイルとアプリケーションアーカイブファイルのファイル名にスペースがあった場合、同様の症状がありました。私はそれらからすべてのスペースを削除し、ワイヤレスインストールは私のために働いた。マニフェストにスペースがないように見えますが、アプリファイルがあるのでしょうか?

16
ptrico

itms-servicesは、Apple/iphoneが証明書を検証し、インストールする必要があることを識別するための識別子です。

Ipaファイルをインストールする前にプロビジョニングプロファイルを検証するために、「ax.init.iTunes.Apple.com」および「ocsp.Apple.com」に接続します。

イントラネット接続を使用している場合、これらのリンクにアクセスできるかどうかを確認してください。そうでない場合、無線経由でアプリケーションをインストールできません。

&デバイスの最小OSは4.0である必要があります

4
CKT

私はIIS 6.0を使用していて、index.htmlページはロードされていましたが、ユーザーがAppleデバイス(ie)iphone 4から.plistリンクをクリックしたとき、私は「www.mywebsite.comに接続できません。」を取得し続けました。MIMEタイプを追加する以外の解決策は、.plistファイルがあり、最も重要なWeb共有を共有することでした。デフォルトのWindowsユーザーにフルコントロールを与えた

3
user690513

サーバーのMIME設定を修正してください。

グーグルで正しい方法を見つける

http://developer.Apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html

2
erk ekin

ここで問題になる可能性のあるものへのポインタがいくつかあるようです。XcodeOrganizerからデバイスコンソールを確認します。通常、失敗したOTA配布に関する有用な情報が含まれています。

すべてのURLが完全に修飾されていることを確認してください。 pngファイル用のものを含む。

1
bgarick

上記と同じ問題がありました。上記のすべてを試して失敗した後、アプリをアーカイブしているときに、設定にアプリケーションのURLを入れなかったため、このURLがplistファイルに含まれていなかったことがわかりました。 plistファイルを見るとき、アプリケーションURLがそこにあることを確認してください。

1
Dave Tsay

他の多くの人と同様に、このデーモンの問題にも遭遇しました。私の場合、問題はplistファイルが正しくフォーマットされていなかったことです。ファイルがドキュメントに記載されている正確なパターンに従っていることを確認してください。 http://developer.Apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html

1
Paul Hunter

Plistを動的に生成することに興味がある人のために、この例はPHPです。

$appUrl='itms-services://?action=download-manifest&url=http://server/iOSpList.php?'.
                'url%3D'.$app['url'].
                '%26bundle%3D'.$app['bundle'].
                '%26version%3D'.$app['version'].
                '%26name%3D'.$app['name'];

また、MIMEタイプがapplication/xmlとして返されることを確認してください。

1
James

電子メールからリンクを送信する場合、電子メールでHTML形式を使用することはできません。 「リッチテキスト」形式を使用する必要があります

理由はわかりませんが、それがどのようなものか(少なくともOutlookの場合)

0
MobileMon

AdHocプロビジョニングプロファイルを使用してアプリを配布するときに、同様の問題が発生しました。古いプロファイルの削除、新しいプロファイルの生成、Xcodeの再起動、クリーニングと再構築、URLパス名の確認などを試みました。アプリは一部のデバイスにインストールされますが、他のデバイスにはインストールされません。

私のために働いたのは、アプリのバージョンを変更し、新しい番号にビルドすることでした。

0
kzia

適切な解決策は、スペースを「+」(プラス)に置き換えることです... url = ...はクエリ文字列パラメータであり、 URL用にエンコードされる場合、フォームデータパラメーターとしてエンコードされます。

ここから W3.org-HTMLドキュメントのフォーム

「コントロール名と値はエスケープされます。スペース文字は「+」に置き換えられ、[RFC1738]で説明されているように予約文字がエスケープされます。」

追伸icenium.comの開発中に遭遇した同じ問題を解決しました。そこでAdHocプロビジョニング署名を確認し、名前にスペースが含まれるプロジェクトでどのように機能するかを確認できます。

0
Jordan

IOS 6でアプリをインストールするために「index.htmlを使用できない」ことがわかりました。 「index.html」から「dev.html」への変更により修正されました。誰かが助けることを願っています

0
Cullen SUN

あなたが説明したとおりにこの問題に出会ったが、私の問題はURLの「http://」を見逃したことが判明した。この部分を.plistファイルのurlフィールドに追加すると、すべて正常に機能しました。それが役に立てば幸い!

0
sonoshin

同時にいくつか試してみたので、どれが良いものかわかりません。

ワイルドカードアプリID(ワイルドカード名、bunde識別子*)を作成し、このアプリのプロファイルを作成し、このプロファイルでipaに署名しました。

プロビジョニングポータルに1つのデバイスを登録しました。

index.htmlの代わりにアプリdev.htmlをリンクしたファイルに名前を付けました

0
jcesarmobile