4

URLスキームを使用してアプリを開き、のURLからクエリ文字列を解析します-didFinishLaunchingWithOptions:。これはうまく機能しますが、アプリがアクティブになったときに新しい文字列を解析しません。次のようにandopenURLメソッドを実装しました-handleOpenURL:が、アプリがアクティブになったときにどちらも呼び出されないようです...

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if (!url) 
        return NO;

    queryStrings = [self parseQueryString:[url query]];
    return YES;
}

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if (!url) 
        return NO;
    queryStrings = [self parseQueryString:[url query]];
    return YES;
}

助けてください!ありがとう!

4

3 に答える 3

9

使用する:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

使用しているメソッドは非推奨です。

于 2012-04-04T15:36:47.877 に答える
0

handleOpenURLiOS 5では非推奨です:application:openURL:sourceApplication:annotation:代わりに使用する必要があります-application:openURLアプリにもメソッドがありますか?そうでない場合は、1つ追加して、ピックアップされるかどうかを確認します。

于 2012-04-04T15:37:16.107 に答える
0

上記の受け入れられた答えを明確にするため。おそらくこれを使用したいと思うでしょう(関数内に含める必要のあるものではなく、必要な関数のみが含まれているため、受け入れられた回答に混乱しました):

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]];

}

- (void)applicationDidBecomeActive:(UIApplication *)application {

    [FBAppCall handleDidBecomeActiveWithSession:[PFFacebookUtils session]];
}

私は個人的に、RayWenderlichチュートリアルを通じてこの問題に遭遇しました。2つを統合する方法を示すParseを使用したいくつかの優れたチュートリアルもあります。

これがこの時点に至るまでの完全なチュートリアルは、https ://parse.com/tutorials/integrating-facebook-in-iosにあります。

うまくいけば、これはこの問題に関する混乱を減らすのに役立ちます:)

于 2014-05-12T04:42:59.140 に答える