4

我使用 URL 方案打开我的应用程序并从-didFinishLaunchingWithOptions:. 这很好用,但是当应用程序处于活动状态时它不会解析新字符串。我已经实现了-handleOpenURL:和 openURL 方法如下,但是当应用程序激活时似乎都没有被调用......

-(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

澄清上述接受的答案。您可能想要使用它(我对接受的答案感到困惑,因为它只包含您需要的功能,而不是您需要在函数中包含的功能):

- (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]];
}

我个人是通过 Ray Wenderlich 教程来解决这个问题的。还有一些很好的使用 Parse 的教程展示了如何将两者结合起来。

可以在这里找到完整的教程:https ://parse.com/tutorials/integrating-facebook-in-ios

希望这有助于减少围绕这个问题的困惑:)

于 2014-05-12T04:42:59.140 回答
0

handleOpenURL在 iOS 5 上已弃用:您应该application:openURL:sourceApplication:annotation:改用 - 您的应用程序中是否也有application:openURL方法?如果没有,请添加一个,看看它是否被拾取。

于 2012-04-04T15:37:16.107 回答