我需要在 ios 应用程序中打开链接(用于 Facebook 登录)。为此,我只需定义一个接口方法:
- (BOOL) application: (UIApplication *) application handleOpenURL: (NSURL *) URL
对于新版本的系统
- (BOOL) application: (UIApplication *) application
openURL: (NSURL *) url
sourceApplication: (NSString *) sourceApplication
annotation: (id) annotation
一切正常,但我需要将代码与 AppController 代码文件分离。为此,我创建了一个继承 AppController 的所有接口的类,并替换了我的对象上的 AppController 委托:
@implementation ApplicationProxy
id <UIApplicationDelegate> origin;
...
+ (void) changeDelegate{
ApplicationProxy* proxy = [[ApplicationProxy alloc] init];
origin = [[UIApplication sharedApplication] delegate];
[[UIApplication sharedApplication] setDelegate: proxy];
}
...
// replace all the functions of origin to work properly, such as
- (Void) applicationDidBecomeActive: (UIApplication *) application {
[origin applicationDidBecomeActive: application];
}
...
@end
在 ios 5 上的项目中一切正常,但在崩溃开始时 iO 的 6 版本(和 XCode 的 4.5 版本)进行了更新。混乱在哪里?