2010年10月10日日曜日

Document Typeの指定

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 件のコメント:

コメントを投稿