Ios 在appDelegate中调用open Url
我的应用程序代理中有以下代码:Ios 在appDelegate中调用open Url,ios,xcode,Ios,Xcode,我的应用程序代理中有以下代码: - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { // attempt to extract a token from the url self.openedURL = url; // attempt to e
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// attempt to extract a token from the url
self.openedURL = url;
// attempt to extract a token from the url
return [FBSession.activeSession handleOpenURL:url];
}
如何从UIViewController调用它
编辑:
…然后,视图控制器具有以下功能:
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
return [FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
你没有。当您在应用程序的plist中注册URL语法时,操作系统会调用此函数 然后可以使用此方法处理请求 i、 如果你有一个wordsearch应用程序,那么你可以使用它,这样用户就可以通过电子邮件中的链接打开wordsearch,比如 wordsearch://thisisthecontetnofthewordsearchhfsadkljfhasdkfjahsdkfjhaskljasdhflkjahsgdflkjadhslfkj 然后您将使用此函数解析字符串,并将其转换为实际的wordsearch谜题(或类似的东西) 您实际上想从UIViewController执行什么操作?您有两个选项:
NSURL
传递到UIViewController
UIViewController
,获取对应用程序委托的引用,并使用openedURL
属性MyViewController *controller = [[UIApplication sharedApplication] delegate];
controller.openedURL;
最初,委托的调用方式如下:AppDelegate*AppDelegate=[[UIApplication sharedApplication]delegate]。。。如果我使用选项2,我是否需要在代理或视图控制器中添加该代码?但实际何时调用打开的url?当我按下一个按钮时,我正在尝试使用Facebook实例化登录,我需要一个url。上面的代码提供了url,并且在应用程序委托中,但我无法从UIViewContorlerah调用该方法,您使用的是哪个版本的Facebook API?你可以发布一些你正在尝试运行的代码吗。对于Facebook,您不必运行此代码。你应该设置一个Facebook代表。当登录返回时,它将在Facebook委托中运行一个特定的方法。看起来你正在运行一个相当旧版本的Facebook API?我建议在这里使用CocoaPods Facebook API。。。还有,你用Facebook做什么?你只是在Facebook上发帖,还是想做更多的事情?看这个:……这就是我想做的。发送请求
MyViewController *controller = [[UIApplication sharedApplication] delegate];
controller.openedURL;