在我的应用程序中,我在我的应用程序中实现了一个私有方法AppDelegate
来覆盖默认openURL:
方法,以便在UIWebView
. 但现在我也需要默认功能。
这是我所做的:
@implementation UIApplication (Private)
- (BOOL)customOpenURL:(NSURL*)url
{
AppDelegate *MyWatcher = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if (MyWatcher.currentViewController) {
[MyWatcher.currentViewController handleURL:url];
return YES;
}
return NO;
}
@end
- (void)applicationDidBecomeActive:(UIApplication *)application {
Method customOpenUrl = class_getInstanceMethod([UIApplication class], @selector(customOpenURL:));
Method openUrl = class_getInstanceMethod([UIApplication class], @selector(openURL:));
method_exchangeImplementations(openUrl, customOpenUrl);
}
我还在handleURL:
我的班级中实现了需要自定义打开 URL 处理的地方。但是,这阻碍了我的其他课程,我只想在 iTunes 中简单地打开 iTunes 链接。所以我不知道如何实现的是如何使用原始openURL:
代替customOpenURL:
.