我想创建一个应用程序,该应用程序将打开特定的文件类型,主要来自保存箱。我知道我需要在属性列表中设置我的应用程序能够打开某些文件扩展名,但我该如何阅读该文件?例如,当用户在“打开”菜单中触摸我的应用程序图标时,我的应用程序将如何从该文件获取数据?它将是一个ASCII文件,我想从它读取数据到内存中。具体来说,它将读取.obj文件。 *注意:我对C语言比Objective-C更精通,所以越具体越好。从另一个应用程序的“打开”菜单中打开文件
1
A
回答
2
您的应用程序需要提供应用程序委托,即实现UIApplicationDelegate
协议的类。在该类中,您必须覆盖方法application:openURL:sourceApplication:annotation:
。只要您的应用程序处理文件,iOS就会调用此方法。
这是一个简单的示例实现,可以处理文件URL
- (BOOL) application:(UIApplication*)application
openURL:(NSURL*)url
sourceApplication:(NSString*)sourceApplication
annotation:(id)annotation
{
if (! [url isFileURL])
return NO;
NSString* filePath = [url path];
// Insert code here that processes the file
// Clean up after you processed the file
NSFileManager* fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:filePath error:nil]
// Indicate that you were able to process the file
return YES;
}
如果您的应用程序还没有运行,iOS的调用几个其他的应用程序的委托方法第一,其次是这种方法。例如,您的应用程序委托可以覆盖application:didFinishLaunchingWithOptions:
并检查作为参数传入的字典的内容。这使您有机会接受或拒绝URL。
另一个简单的例子:
- (BOOL) application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
BOOL canHandleURL = NO;
NSURL* url = [launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
if ([url isFileURL])
canHandleURL = YES;
return canHandleURL;
}
有关其他信息,我想再说一遍,你看了关于UIApplicationDelegate protocol苹果文档rmaddy的建议。
相关问题
- 1. 从另一个应用程序在Osmand中打开gpx文件
- 2. 如何打开在另一个应用程序中打开的文件
- 3. 从另一个程序中打开一个应用程序
- 4. 从另一个中打开另一个JavaFX应用程序?
- 5. 从我的应用程序打开另一个应用程序?
- 6. 我的应用程序无法打开“打开在...”菜单
- 7. 在另一个应用程序中打开文件
- 8. Android - 用另一个特定的应用程序打开文件
- 9. 打开一个文件,并从Python程序中打开的文件中输入
- 10. 如何从android中的另一个apllication打开应用程序?
- 11. 调用一个文本菜单打开
- 12. 从RCP应用程序的帮助菜单中打开pdf
- 13. 如何从Android的另一个应用程序中打开应用程序?
- 14. Chrome打包的应用程序:打开另一个应用程序
- 15. Ext JS4如何从菜单打开文件打开对话框
- 16. 从webview中打开应用程序菜单项
- 17. 从另一个打开的应用程序问题
- 18. 打开另一个应用程序从反应原生的iOS应用程序
- 19. 是否可以用菜单选项打开另一个菜单?
- 20. 打开一个应用程序从我的Android应用程序
- 21. 从WinJS应用程序打开一个PDF文件
- 22. Xamarin使用Rivets组件打开另一个应用程序
- 23. 在另一个应用程序中打开一个Android应用程序
- 24. 如何从我的应用程序打开另一个应用程序?
- 25. android:我如何从我的应用程序打开另一个应用程序?
- 26. 从Android的另一个应用程序打开默认日历应用程序
- 27. 从我的应用程序打开pdf到另一个pdfviewer应用程序
- 28. 从我们的应用程序打开另一个应用程序?
- 29. 在一个应用程序中打开文本文件
- 30. 从nwjs应用程序打开另一个.exe