非常に簡単です。次のように、をサブクラス化しUIApplication
、それをオーバーライドしてopenURL:
、アプリケーション クラス名をターゲットに渡す必要がありますmain.m
int main(...)
。
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, @"MyApplication", NSStringFromClass([MyAppDelegate class]));
}
}
アプリを起動せず、希望する方法でアドレスを処理しないスキームNO
のために返すことができる URL をインターセプトします。maps:
Maps
- プロジェクトで、新しいクラスのサブクラスを作成します
UIApplication
オーバーライドする次のメソッドを追加します。
-(BOOL)openURL:(NSURL *)url { NSLog(@"Open %@", [url absoluteString]);
// do something if the url scheme is maps:
return NO;
}
ターゲットのmain.m
ファイルで、デフォルトのint main(int argc, char *argv[])
実装を変更して、UIApplication
クラスを使用するようにします。次のようになります。
#import < UIKit/UIKit.h> //先頭のスペースを削除してコンパイル
#import "LXAppDelegate.h"
#import "LXapp.h"
int main(int argc, char *argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, NSStringFromClass([MyUIApplication class]), NSStringFromClass([MyAppDelegate class]));
}
}
それはARC
(私は決してそれを使用していません)ためではありません.UIApplicationMainのドキュメントを参照して、ARCサポートのために何が起こり、おそらく何を変更する必要があるかを理解してください。