如何在App中打开设置、appstore或其他App(区别iOS 10及之前系统)
来源:互联网 发布:淘宝宝贝详情文字编辑 编辑:程序博客网 时间:2024/05/21 10:11
题记:
“同样是搬砖,一个人觉得自己在砌一堵墙,另一人觉得自己在盖一座房,还有一个人认为自己在建造一座新的城市”;
-格局决定命运;
Content:
首先提供一个系统版本判断的宏:
#define IOS10_OR_LATER ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){.majorVersion = 10, .minorVersion = 0, .patchVersion = 0}])
打开设置:
iOS 10 before:
NSString * string = [NSString stringWithFormat:@"prefs:roop=bundleInidentifier"]; NSURL * url = [NSURL URLWithString:string]; if ([[UIApplication sharedApplication] canOpenURL:url]) { if (IOS10_OR_LATER) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) { NSLog(@"success = %d",success); }]; }else{ [[UIApplication sharedApplication] openURL:url]; } }
iOS 10:
NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { if (IOS10_OR_LATER) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) { NSLog(@"success = %d",success); }]; }else{ [[UIApplication sharedApplication] openURL:url]; } }
打开AppStore指定app链接:
NSString * string = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/us/app/id%@",@"1178857170"];//app id NSURL * url = [NSURL URLWithString:string]; if ([[UIApplication sharedApplication] canOpenURL:url]) { if (IOS10_OR_LATER) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) { NSLog(@"success = %d",success); }]; }else{ [[UIApplication sharedApplication] openURL:url]; } }
打开另一个App:
AppA:我的一个项目 就叫Project;
AppB:trans360;
从AppA跳转到AppB时:
首先,在AppB中添加URL Types:
URL Schemes:填“trans360”;
其次,在AppA中,info 中添加LSApplicationQueriesSchemes(Array)->Item0-String-trans360 ;
最后调用相应代码跳转即可:
NSURL *url = [NSURL URLWithString:@"trans360://@testPara"]; //注意“://”后面可以任意传参数。这些参数传过去后当跳到B时会在-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 这个方法里实现。 if ([[UIApplication sharedApplication] canOpenURL:url]) { if (IOS10_OR_LATER) { [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) { NSLog(@"success = %d",success); }]; }else{ [[UIApplication sharedApplication] openURL:url]; } }
举个例子:
NSString *customURL = @"trans360://?token=123abct®istered=1";
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { NSLog(@"Calling Application Bundle ID: %@", sourceApplication); //name_trans360 NSLog(@"URL scheme:%@", [url scheme]); //trans360 NSLog(@"URL query: %@", [url query]); //token=123abct®istered=1 return YES; }
总结:
每次ios系统版本的更新 都会对应一部分api的变化 需要关注。
0 0
- 如何在App中打开设置、appstore或其他App(区别iOS 10及之前系统)
- 如何跳转到appstore或其他app
- 在unity中打开ios手机上的其他app
- IOS:在app中访问appstore中的app
- iOS之在自己的app里面如何打开其他app
- 怎么在网页或其他应用中打开你的app
- iOS 实现在App内打开某个App的AppStore宣传页面
- iOS中在APP内加入AppStore评分功能
- iOS App让自己的应用在其他应用中打开列表中显示
- iOS App让自己的应用在其他应用中打开列表中显示
- iOS让自己的App在其他应用中打开列表中显示
- 如何在AppStore中取消正在审核的App
- mac中如何在一个app中打开另一个app
- iOS评分功能、APP中打开其他应用程序
- ios app上架AppStore注意事项及流程
- iOS AppStore 转让APP
- React-Native在APP调用浏览器或其他系统应用(Linking的使用)
- iOS退出app(如何退出App之前唤醒另一个App?)
- c++通过jni调用java ,调用cmd执行脚本等类
- chrome开发模式下清除缓存问题
- hadoop基础之mapreduce
- 最大公约数最小公倍数
- 编程练习(第十二周)
- 如何在App中打开设置、appstore或其他App(区别iOS 10及之前系统)
- linux下生成core dump文件方法及设置
- ajax的简单用法发起对服务器的请求
- mysql数据库锁定机制
- h264 ES流文件通过计算first_mb_in_slice区分帧边界
- 剖析C/C++二维数组与指针的关系
- Java面向对象设计模式(十六)——迭代子模式(Iterator)
- Oracle12C--运算符(二十六)
- Android开发者周报(2)