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 のプロジェクトではすべてが正常に機能しましたが、iOS の 6 バージョン (および XCode の 4.5 バージョン) の更新により、クラッシュが始まりました。混乱はどこにありますか?