我使用自定义文件类型配置了我的应用。我添加了Info.plist文件(文档类型和导出的UTI)中所需的信息。现在iOS识别我的文件类型并将其与应用程序相关联。因此,例如,当我打开Mail,并将文件视为附件时,我可以点击它并选择使用我的应用程序打开。
如何从我的应用中获取文件的网址?我尝试在OpenUrl
上使用UIApplication
,但它不起作用。
任何人都知道怎么做?
答案 0 :(得分:2)
解决方案
我声明我需要一个Xamarin / C#的解决方案,但是我要求一个标准的Objective-c代码以便稍后在C#中翻译,因为我找不到任何相关内容。
最后,这是对我有用的解决方案:
在 AppDelegate.cs 文件中,我添加了此方法:
public override bool OpenUrl (UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
NSNotificationCenter.DefaultCenter.PostNotification (NSNotification.FromName ("OpenMyFile", url));
return true;
}
然后在我的主控制器中,我在“ViewDidLoad”方法中添加它:
NSNotificationCenter.DefaultCenter.AddObserver ("OpenMyFile", openFileVoid);
在同一课程中,我添加了一个新方法:
public async void openFileVoid (NSNotification notification)
{
NSUrl _filePath = (NSUrl)notification.Object;
// Do what you need with this file path
}
我希望对某人有用! :)
答案 1 :(得分:1)
我认为这与-[UIApplication openURL:]
无关。
如Apple Doc中所述:
您会收到有关该文件的信息 在
application:willFinishLaunchingWithOptions:
或。{ 您的申请的application:didFinishLaunchingWithOptions:
方法 代表。如果您的应用程序处理自定义文件类型,则必须 实现这个委托方法(而不是applicationDidFinishLaunching:
方法)并用它来初始化你的 应用传递给的选项字典
application:willFinishLaunchingWithOptions:
或application:didFinishLaunchingWithOptions:
方法包含信息 关于要打开的文件。
您可以在文档中详细了解它。