Ios 如何正确处理iPad/iPhone应用程序中的自定义文件类型?

Ios 如何正确处理iPad/iPhone应用程序中的自定义文件类型?,ios,objective-c,appdelegate,Ios,Objective C,Appdelegate,只是一些关于这个问题的背景知识: 我使用的是XCode 5 我的目标是iOS 7 我最近注册了一个特定的文件类型,将在我的应用程序中打开。它在第一次工作时(如果应用程序没有在后台运行),然后当我尝试打开另一个文件时,它会保留旧文件。有没有我应该遵守的惯例?我不在乎前一个文件会发生什么,我只想打开新的文件 下面是我如何将NSURL传递给我的根视图控制器。我的根视图控制器仅使用我在ViewDidLoad方法中创建的url属性 - (BOOL)application:(UIApplication

只是一些关于这个问题的背景知识:

  • 我使用的是XCode 5
  • 我的目标是iOS 7
我最近注册了一个特定的文件类型,将在我的应用程序中打开。它在第一次工作时(如果应用程序没有在后台运行),然后当我尝试打开另一个文件时,它会保留旧文件。有没有我应该遵守的惯例?我不在乎前一个文件会发生什么,我只想打开新的文件

下面是我如何将
NSURL
传递给我的根视图控制器。我的根视图控制器仅使用我在
ViewDidLoad
方法中创建的
url
属性

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    ViewController *vc = (ViewController *)self.window.rootViewController;
    vc.url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];
    return YES;
}
我想出来了

我所要做的就是在我的
AppDelegate
中实现
-(BOOL)application:(UIApplication*)application handleopeanurl:(NSURL*)url

我在我的
ViewController
中创建了一个名为
loadFileWithUrl:(NSURL*)filePath
的助手函数,并在其中处理了新的
NSURL

以下是我的
AppDelegate
中的代码:

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    ViewController *vc = (ViewController *)self.window.rootViewController;
    [vc loadFileWithUrl:url];

    return YES;
}