デバイス上のすべてのアプリのすべてのURLスキームを取得する方法はありますか?それらのどこかに、おそらくplistの中央リポジトリがなければなりませんか?
誰かがまだ探している場合に備えて私のソリューションを追加します。答えを調査するのにしばらく時間を費やした後、私は@danielbeardのソリューションと@Avisのソリューションのミックスを仕上げました。
私が探しているアプリケーションを知っているので:
その情報を使用して、チェックするアプリの配列に追加します(@danielbeardが提案したことを行います)。
これが将来の誰かを助けることを願っています。
はい、プライベートAPIを使用できます。最初
@interface PrivateApi_LSApplicationWorkspace
- (NSArray*)privateURLSchemes;
- (NSArray*)publicURLSchemes;
@end
それを使用します:
PrivateApi_LSApplicationWorkspace* _workspace;
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new];
- (NSArray*)privateURLSchemes
{
return [_workspace privateURLSchemes];
}
- (NSArray*)publicURLSchemes
{
return [_workspace publicURLSchemes];
}
それがプログラムである場合、私にはわかりません。
ここにあなたの質問に関連する答えがあります(正確ではありません)
しかし、手動で、あなたのデバイスで-
はい...
この手順により、デバイス上のすべてのアプリのURLスキームを取得する方法があります。システムにifunboxをインストールします。デバイスを接続し、ユーザーアプリケーションを開いて、URLスキームを検索しようとしているアプリを開きます。アプリのホームフォルダーが見つかります。そのフォルダーには、そのアプリのinfo.plistがあります。 info.plistを開き、最後の列でURLスキームアドレスを確認します。
それは私のために働いた。あなたはURLスキームに登録されているいくつかのアプリのURLスキームを見つけるでしょう。
いくつかのアプリのURLスキームアドレスへのリンクがあります(時間を節約できる可能性があります)。
1 . http://handleopenurl.com/ 2 . http://wiki.akosma.com/IPhone_URL_Schemes
ここで気まぐれに出かけて、次のことをしようとしていると仮定します。
これを行う場合は、手順2を手動で行う必要はありません。実際のところ、それはできません。ただし、互換性のあるアプリのメニューを表示するために IDocumentInteractionController クラスを使用できます。
これは、電話にインストールされている他のアプリを「確認」できる唯一の方法です。少なくともiOS 7以下では。
脱獄せずにApple APIで正式にサポートされていません
回避策は、バンプがどのアプリが起動され、URLスキームをサポートするかを知る方法かもしれません: http://danielamitay.com/blog/2011/2/16/how-to-detect-installed-ios-apps