iOS App让自己的应用在其他应用中打开列表中显示
2014-07-09 00:00
591 查看
像百度网盘等应用,里面的文件打开时,都可以通过以下应用再打开文件。下面红色框框内的我的jpg就是我做的一个例子。因为例子没有提供Icon,所以显示的是默认icon。
![](http://static.oschina.net/uploads/img/201407/09170122_qpET.jpg)
下面就是这例子的主要步骤和代码。
例子是一个打开jpg图片程序。
1、在项目的**info.plist文件中添加:
2、打开到自己的app时,要截取到过来资源的文件路径:
在Appdelegate里添加代码如下:
要去掉file://文件路径的头,要不然找不到资源。
3、在自己的ViewController里打开jgp显示:
打开之后的效果是这样的:
![](http://static.oschina.net/uploads/img/201407/09170123_e1K3.jpg)
注意:这都是在真机上演示的。
这里例子咱们可以扩展,怎么打开网盘里的gif图片啊,还有其他自己自定义的格式也可以。
项目完整代码已经上传到:
http://download.csdn.net/detail/totogo2010/7460929
或者github: https://github.com/schelling/openFileType
参考:
https://developer.apple.com/library/ios/qa/qa1587/_index.html http://stackoverflow.com/questions/20869815/open-file-from-local-file-system-with-default-application-ios
容芳志 (http://blog.csdn.net/totogo2010)
本文遵循“署名-非商业用途-保持一致”创作公用协议
![](http://static.oschina.net/uploads/img/201407/09170122_qpET.jpg)
下面就是这例子的主要步骤和代码。
例子是一个打开jpg图片程序。
1、在项目的**info.plist文件中添加:
<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeIconFiles</key> <array> <string>icon@2x.png</string> <string>icon.png</string> </array> <key>CFBundleTypeName</key> <string>Molecules Structure File</string> <key>CFBundleTypeRole</key> <string>Viewer</string> <key>LSHandlerRank</key> <string>Owner</string> <key>LSItemContentTypes</key> <array> <string>com.fzrong.jpg</string> <string>org.gnu.gnu-zip-archive</string> </array> </dict> </array> <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>public.plain-text</string> <string>public.text</string> </array> <key>UTTypeDescription</key> <string>Molecules Structure File</string> <key>UTTypeIdentifier</key> <string>com.fzrong.jpg</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <string>jpg</string> <key>public.mime-type</key> <string>image/jpg</string> </dict> </dict> </array>这就是告诉系统,你能打开 jpg这个文件类型。
2、打开到自己的app时,要截取到过来资源的文件路径:
在Appdelegate里添加代码如下:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if (url != nil) { NSString *path = [url absoluteString]; NSMutableString *string = [[NSMutableString alloc] initWithString:path]; if ([path hasPrefix:@"file://"]) { [string replaceOccurrencesOfString:@"file://" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, path.length)]; } [self.viewController openPng:string]; } return YES; }
要去掉file://文件路径的头,要不然找不到资源。
3、在自己的ViewController里打开jgp显示:
- (void)openPng:(NSString*)string { UIImage *image = [[UIImage alloc] initWithContentsOfFile:string]; float width = image.size.width; float height = image.size.height; if (width > 320) { height = (height/width) * 300; width = 300; } CGRect frame = CGRectMake(0, 20, width, height); imageView.frame = frame; imageView.image = image; }
打开之后的效果是这样的:
![](http://static.oschina.net/uploads/img/201407/09170123_e1K3.jpg)
注意:这都是在真机上演示的。
这里例子咱们可以扩展,怎么打开网盘里的gif图片啊,还有其他自己自定义的格式也可以。
项目完整代码已经上传到:
http://download.csdn.net/detail/totogo2010/7460929
或者github: https://github.com/schelling/openFileType
参考:
https://developer.apple.com/library/ios/qa/qa1587/_index.html http://stackoverflow.com/questions/20869815/open-file-from-local-file-system-with-default-application-ios
容芳志 (http://blog.csdn.net/totogo2010)
本文遵循“署名-非商业用途-保持一致”创作公用协议
相关文章推荐
- iOS App让自己的应用在其他应用中打开列表中显示、iOS把自己的应用添加到”活动“、将PDF文件Open In MyApp
- iOS让自己的App在其他应用中打开列表中显示
- ios App 让自己的应用在其他应用打开列表显示
- iOS App让自己的应用在其他应用中打开列表中显示
- iOS App让自己的应用在其他应用中打开列表中显示
- iOS App让自己的应用在其他应用中打开列表中显示、iOS把自己的应用添加到”活动“、将PDF文件Open In MyApp
- 让自己的应用在其他应用中打开列表中显示
- 让自己的应用在其他应用中打开列表中显示
- Android 仿照第三方app 将自己APP显示在打开列表中
- android开发仿照第三方app打开方式,如何将你的app显示在打开列表,并且将文件复制到你的app应用内
- iOS开发笔记--调用打开AppStore显示自己的App
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
- iOS 让自己的应用 在其他应用中打开
- iOS开发笔记--调用打开AppStore显示自己的App
- iOS获取已安装的app列表(私有库)+ 通过包名打开应用
- iOS之在自己的app里面如何打开其他app
- [置顶] iOS将本应用添加在‘其他方式打开’的列表中
- 实现让你的应用在其他应用中文件的打开方式列表中显示
- 【IOS】在SDK中打开其他接入应用的解决方案
- 自己开发的IOS APP在其他设备的安装