让自己的应用在其他应用中打开列表中显示

本文介绍如何在 iOS 应用中配置和实现从外部应用(如百度网盘)打开 JPG 图片的功能,包括修改 info.plist 文件声明支持的文件类型、解析 URL 获取文件路径并显示图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

像百度网盘等应用,里面的文件打开时,都可以通过以下应用再打开文件。下面红色框框内的我的jpg就是我做的一个例子。因为例子没有提供Icon,所以显示的是默认icon。
这里写图片描述
下面就是这例子的主要步骤和代码。

例子是一个打开jpg图片程序。

1、在项目的**info.plist文件中添加:
这里写图片描述
这就是告诉系统,你能打开 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;  

}  

打开之后的效果是这样的:
这里写图片描述

这里例子咱们可以扩展,怎么打开网盘里的gif图片啊,还有其他自己自定义的格式也可以。

项目完整代码已经上传到:http://download.youkuaiyun.com/detail/totogo2010/7460929

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值