如何拦截任何UIApplication openURL调用?

时间:2014-04-08 22:38:11

标签: ios cocoa-touch ios7 wechat

我正在使用WeChat SDK向微信分享我的一些应用内容。根据我的观察,共享功能使用UIApplication openURL启动微信应用。微信开发人员没有处理的一个极端情况是在完全没有安装微信应用程序时显示警告。我想首先检查canOpenUrl并将openURL传入相同的网址来处理此案例。不幸的是,我不知道微信URL方案,因为我只有他们的标题和编译文件。有没有办法拦截任何openURL调用以找出正在打开的URL?

1 个答案:

答案 0 :(得分:3)

子类UIApplication并让应用程序使用您的子类。在您的子类中,覆盖openURL:并添加您的逻辑。如果您乐意继续开放操作,请致电[super openURL:...];

通过编辑main.m文件教导应用程序使用您的自定义子类:

return UIApplicationMain(argc, argv, NSStringFromClass([XXApplication class]), NSStringFromClass([XXAppDelegate class])); 

(假设XXApplication是您的应用子类,而XXAppDelegate是您的应用委托类,并且记得要导入相应的标题)