かの設定ココアの応用としてデフォルトのwebブラウザです。
-
09-06-2019 - |
質問
かの設定ココアの応用としてデフォルトのwebブラウザです。
をしたいと思っているアプリケーションを開始した場合、デフォルトのユーザーがクリック、HTTPやHTTPSクを他のアプリケーション(メール、iChatます。
解決
が手作りのアプリとなるようなデフォルトのwebブラウザです。第三段ができるようにアプリとしての役割をハンドラに関連するURLスキーム(HTTPやHTTPS)は、最後のステップでデフォルトの役割のハンドラ方制度について
1)追加のURLスキームのおか扱えないアプリケーションの中から必要なものを選んで使用。plistファイル
追加の支援 http://
や https://
んを追加する必要がある以下の中から必要なものを選んで使用。plistファイルです。これはOSる申請に対応できるHTTPおよびHTTP Urlに対するものとなります。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>http URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>http</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>Secure http URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>https</string>
</array>
</dict>
</array>
2)記URLハンドラ方式
このメソッドによって呼び出され、OSをしたい場合には利用申込を開りましたが、修正いたしました。なるオブジェクトを追加したりする方法とする明示的に渡されるイベントマネージャーの次のステップです。のURLハンドラ方法はこのようになります:
- (void)getUrl:(NSAppleEventDescriptor *)event
withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
// Get the URL
NSString *urlStr = [[event paramDescriptorForKeyword:keyDirectObject]
stringValue];
//TODO: Your custom URL handling code here
}
3)URLを登録しハンドラ方式
次に、伝えるイベント管するオブジェクトの方法を話したい場合にはご利用のアプリを負荷する。のコード私はこれに渡され self
としてのイベントハンドラと呼んでいるんだけど setEventHandler
同じオブジェクトを定義する getUrl:withReplyEvent:
方法。
を追加してくださいこのコードのどこかでアプリケーションのトの再計算コードです。
NSAppleEventManager *em = [NSAppleEventManager sharedAppleEventManager];
[em
setEventHandler:self
andSelector:@selector(getUrl:withReplyEvent:)
forEventClass:kInternetEventClass
andEventID:kAEGetURL];
一部の用途を含め、前のバージョンのAdobe AIRの代替WWW!/OURL AppleEventを求めることをアプリケーションがオープンのUrlでの対応によりアプリケーションにも以下の変数を追加します:
[em
setEventHandler:self
andSelector:@selector(getUrl:withReplyEvent:)
forEventClass:'WWW!'
andEventID:'OURL'];
4)設定アプリとしてデフォルトのブラウザ
まっついてのOSと申 ブラウザ, 今後は、をしないようにする必要もあり デフォルトのブラウザ.
私たちの利用には打上げ輸送サービスのAPIではないかと思います。この場合におい設定に当社アプリのデフォルトの役割のためのハンドラはHTTPおよびHTTPSにリンク:
CFStringRef bundleID = (CFStringRef)[[NSBundle mainBundle] bundleIdentifier];
OSStatus httpResult = LSSetDefaultHandlerForURLScheme(CFSTR("http"), bundleID);
OSStatus httpsResult = LSSetDefaultHandlerForURLScheme(CFSTR("https"), bundleID);
//TODO: Check httpResult and httpsResult for errors
(あるんじゃないでしょうかを、ユーザーの許可を変化させる前に、そのデフォルトのブラウザ.)
カスタムのURLスキーム
このことは特筆に値することができます同じ手順で取り扱およびユーザーインターフェイスURLする仕組みである。いをカスタムのURLスキームで良いアイデアを拠点でアプリのバンドルの識別子を衝突を避けるその他のアプリとなります。シンプルなバンドルID com.example.MyApp
を使うことを検討すべき x-com-example-myapp://
Urlに対するものとなります。
他のヒント
また変化は、デフォルトのヘルパーアプリからhttp(s)必要はありませんのサファリです。まだ下がるごとすべて選択登録のハンドラ用のためのhttp.を自動的にアプリの設定としてデフォルトのブラウザの確認ください。