题记:

“同样是搬砖,一个人觉得自己在砌一堵墙,另一人觉得自己在盖一座房,还有一个人认为自己在建造一座新的城市”;

-格局决定命运;

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 idNSURL * 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&registered=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]);              //trans360NSLog(@"URL query: %@", [url query]);                 //token=123abct&registered=1
return YES;
}

总结:

每次ios系统版本的更新 都会对应一部分api的变化 需要关注。

如何在App中打开设置、appstore或其他App(区别iOS 10及之前系统)相关推荐

  1. 如何在Android中打开/关闭相机LED /手电筒

    在本教程中,我们向您展示如何在Android中打开/关闭手机摄像头或手电筒. 查看代码段: 1.开启 camera = Camera.open();Parameters p = camera.getP ...

  2. ubuntu 如何关闭离线模式_如何在macOS中打开或关闭Mac暗黑模式

    苹果在macOS Mojave中为Mac引入了暗模式.暗模式是系统级别的设置,可与Mac随附的所有应用一起使用.第三方应用也可以选择使用暗黑模式.暗黑模式使您更轻松地专注于工作,并且对眼睛也很容易.装 ...

  3. android点击另一个app,Android 怎么从一个APP中打开另外一个APP

    Android 如何从一个APP中打开另外一个APP 众所周知,在一个APP内部,从一个页面跳转到另外一个页面是使用startactivity函数来实现的. 同样的,对于应用之间的跳转也是如此的.应用 ...

  4. uniapp 微信小程序地图,在高德app、腾讯app、百度app、苹果地图app 中打开

    一.效果: 点击图片一后,会跳转到图片二页面(无需自己写图片二页面,小程序会自动打开此页面) PS:示例图中(坐标)为"天安门".( <map> 可添加多个坐标点 ) ...

  5. 在自己的app中打开淘宝

    需求:在app中打开淘宝客户端,包括打开店铺和商品 1)打开商品: Intent intent = new Intent(); intent.setAction("android.inten ...

  6. 如何在GlobalMapper中打开谷歌卫星地图

    一.什么是Global Mapper Global Mapper 是一款地图绘制软件,不仅能够将数据(如谷歌地球高程数据)显示为光栅地图.高程地图.矢量地图,还可以对地图作编辑.转换.打印.记录GPS ...

  7. 如何在Win7中打开摄像头

    Win7一问一答系列文章专门解答有关Win7的疑难问题,小到Win7主题.Win7桌面的应用文章,大到购买Win7.Win7安装等的长篇大论文章.力求用最简洁的语言回答初学者提出的问题,希望网友看到之 ...

  8. iptables 打开端口_如何在iptables中打开端口?

    iptables 打开端口 How to open a port, say 3389, in iptables to allow incoming traffics to it? 如何在iptable ...

  9. android 代码 卸载app,Android在一个app中安装并卸载另一个app的示例代码

    Android在一个app中安装并卸载另一个app 1.在app→src→main下新建文件夹asserts,将准备安装的apk文件放在asserts内 2.在app→src→main→res下新建文 ...

最新文章

  1. Matlab编程与数据类型 -- 内联函数
  2. SAP UI5 Simple form rendering
  3. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
  4. linux识别科学计数法,Linux下科学计数法(e)转化为数字的方法 [shell中几种数字计算说明]...
  5. 程序员相亲竟然因为这个被拒绝了......
  6. 关于_MSC_VER的说明
  7. 基于jQuery UI CSS Framework开发Widget
  8. jq 改数组的k值_在JSON jq中修改键值数组
  9. 《on Java 中文版》读后感(《JAVA编程思想》的原作者)(JAVA 小虚竹)
  10. android监控io产生的应用,Android IO性能分析及排查
  11. cesium两种方式鼠标移入移出实体显示提示框
  12. Java中的四种Reference
  13. 一文搞懂ECU休眠唤醒之利器-TJA1145
  14. STDMETHOD介绍
  15. 就想和你上#床能咋地?【ZT】送给没GF的兄弟们
  16. Mp4 分割 怎么将mp4视频文件分割成几段
  17. linux 跳过overwrite确认
  18. 火神山秒建5G基站,“云监工”背后的是通信技术的极限挑战
  19. python中eps是什么意思_python怎么导出eps文件
  20. oracle判断字段是否包含某个字符串

热门文章

  1. Oracle19c数据库安装教程【Windows版】
  2. linux 函数中打印调用栈
  3. uboot do_bootm函数详解
  4. 百度、阿里、腾讯,谁最先倒下?
  5. 几种车载网络特征对比
  6. 使用css定位--让foot层始终保持在页面底部
  7. 街头立体画的创作过程
  8. python有道字典_Linux下自制有道词典 - python 解密有道词典JS加密
  9. 千里姻缘:晒晒你拥有什么样的“恋人指数”
  10. 将单元格中的内容拆分成多列/行