info.plistにDocument Typeの指定をすると他のアプリからファイルを受信できる(以下は拡張子midの例)。
呼び出される関数
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
通常の起動時はlaunchOptionsがnilだが、他のアプリから呼び出されると有効になる。
ただし、バックグランドにいる時は呼び出されない。
この関数でファイル処理をする必要はない!
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
他のアプリから呼び出されるときに必ず呼び出される。
※ファイルはInboxフォルダにコピーされているので使ったら削除する必要がある。
同じファイル名があると枝番が付けられる。
呼び出し元
Safari/Mail/Dropbox/Good Readerは対応している。
【サンプル】
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[window addSubview: [mainViewController view]];
[window makeKeyAndVisible];
if( launchOptions != nil ) {
//必ず handleOpenURL() が呼び出されるので、ここで処理する必要なし
// 未起動:viewDidLoad -> WithOptions -> handleOpenURL
}
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
// urlの処理
}
0 件のコメント:
コメントを投稿