非常に簡単です。次のように、をサブクラス化し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サポートのために何が起こり、おそらく何を変更する必要があるかを理解してください。