7

アプリをコールバックするアプリ ( x-callback-urlopenUrl:仕様に従って動作するアプリなど) を起動する前に、他のアプリを呼び出す前に、アプリケーションのコールバックが機能していることをプログラムで確認するにはどうすればよいですか?

4

3 に答える 3

0

Swiftで解決した方法は次のとおりです。

var plistPath = NSBundle.mainBundle().pathForResource("Info", ofType: "plist")

var urlStuff = NSMutableDictionary(contentsOfFile: plistPath!)
var urlType = NSDictionary(objectsAndKeys: "com.appprefix.AppName", "CFBundleURLName", NSArray(object: "fb123456789"), "CFBundleURLSchemes")
urlStuff?.setObject(NSArray(object: urlType), forKey: "CFBundleURLTypes")
urlStuff?.writeToFile(plistPath!, atomically: true)
于 2015-09-02T11:32:10.710 に答える
0

より簡単な解決策:

+ (BOOL)isBundleURL:(NSURL *)url
{
    NSArray *urlTypes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleURLTypes"];
    NSArray *urlSchemes = [urlTypes.firstObject objectForKey:@"CFBundleURLSchemes"];
    return [urlSchemes containsObject:url.scheme];
}

+ (BOOL)respondsToURL:(NSURL *)url
{
    return [self isBundleURL:url] && [[UIApplication sharedApplication] canOpenURL:url];
}
于 2016-06-03T01:31:48.667 に答える