【问题标题】:Facing issue in Document sharing文档共享面临的问题
【发布时间】:2013-11-28 12:18:52
【问题描述】:

我遇到了一些文档共享问题。我的 iPhone 有两个应用程序。一个应用程序“SharingApp”使用文档交互控制器将其包中的文件共享到另一个应用程序“ViewerApp”。默认情况下,共享文件将保存在名为“收件箱”的文件夹下的“ViewerApp”文档目录中。我可以在“ViewerApp”的didFinishLaunchingWithOptions: 中获取 url 作为

NSURL *url = (NSURL*)[launchOptions valueForKey: UIApplicationLaunchOptionsURLKey];

如果“ViewerApp”没有启动,这个场景可以完美运行。

我遇到的问题是,如果“ViewerApp”处于后台状态(或未终止)并且文件是从“SharingApp”共享的,则在“ViewerApp”的appDelegate 中调用applicationDidBecomeActive:。所以,我无法获得url,因为没有调用didFinishLaunchingWithOptions: 方法(ViewerApp 已经启动)。在进入后台状态之前,“ViewerApp”仅以最后共享的url 打开。

如何处理以获取applicationDidBecomeActive: 中的url?如果您遇到此类问题,请分享一些想法。 感谢您的想法。

【问题讨论】:

    标签: ios iphone objective-c ipad appdelegate


    【解决方案1】:

    你应该实现下面的 UIApplicationDelegate 方法

    - (BOOL)application:(UIApplication *)application 
                openURL:(NSURL *)url 
      sourceApplication:(NSString *)sourceApplication 
             annotation:(id)annotation 
    

    这应该可以解决您的问题,因为当您的查看器应用程序处于后台时会调用此方法

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。问题是当应用程序已经打开但被带到前台时,不会调用 didFinishLaunchingWithOptions。我从 didFinishLaunchingWithOptions 中取出了我的代码,而是将它放在了 handleOpenURL 中(也在应用委托页面上)

      - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
          if (url != nil && [url isFileURL])
          {
              MainViewController *frontViewController = [[MainViewController alloc] init];
              [frontViewController handleOpenURL:url]; //function on my main view controller class to do the necessary action
      
              return YES;
          }
          else
          {
              UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"  message:@"Cannot Handle Opening This File."  delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
              [alert performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES];
      
              return NO;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-13
        • 2016-04-02
        • 2021-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-31
        • 1970-01-01
        相关资源
        最近更新 更多