通过openURL的方式启动其它App
假设有两个App,项目名分别是SampleA和SampleB,需要在SampleA里点击一个Button来启动SampleB,并传递一个字符串。具体实现步骤如下:
1. 在SampleB的info.plist文件里新增一个URL Schemes,并指定一个字符串,这个字符串就是调用App的链接名称:
2. 在SampleA的按钮点击操作里执行下面代码:
- (IBAction)openClickHandler:(id)sender { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"myapp23://time_is_money"]]; }
3. 在SampleB的AppDelegate类里,调用系统事件处理传递过来的URL:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { NSString *strInfo = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:strInfo delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; return YES; }
总结:
1. 通过openURL的方式启动其它App时,地址格式为 @“URL Scheme://URL identifier”,其中URL identifier是可选的。
2. URL identifier不能含有空格和问号。
3. apple并不支持这种做法,实际产品开发中慎用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程