11 ios 跳转蓝牙_ios 跳转蓝牙 - CSDN
精华内容
参与话题
  • IOS-跳转蓝牙设置界面

    千次阅读 2016-03-03 09:38:29
    IOS-跳转蓝牙设置界面

    NSURL *url = [NSURL URLWithString:@"prefs:root=Bluetooth"];
                if ([[UIApplication sharedApplication]canOpenURL:url]) {
                    [[UIApplication sharedApplication]openURL:url];
                }


    展开全文
  • iOS10应用内跳转到设置界面

    千次阅读 2016-10-14 18:11:02
    iOS10,苹果扔掉了应用内直接跳转设置的链接,你不能在使用prefs跳转了。调用canOpenURL会提示10814错误。
    1、iOS10之前的方法不行了,在网上找了资料,都说不能随便跳转了,是苹果关掉了这个连接,只能使用如下语句跳转到应用设置界面:
    

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];


    因为iOS10已经丢弃了canOpenURL这个方法,openURL也由openURL:options:CompletionHandler:替代。

    我的本来是跳转到蓝牙的,只能先跳到这里,再返回到设置手动找到蓝牙,如果哪位大神有其他直接办法可以给我留言,学习下~~~



    2、下面的跟iOS10无关:

    使用xcode7.3 ,在app内部跳转到iOS的蓝牙开启页面,代码如下:

    NSURL *url = [NSURL URLWithString:@"prefs:root=Bluetooth"];

        if ([[UIApplication sharedApplication]canOpenURL:url]) {

            [[UIApplication sharedApplication]openURL:url];

        }

    这个需要添加URL Scheme,方法:Target -> Info -> URL Types,点击“+”,将URL Schemes设置为prefs即可。




    展开全文
  • iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图: 需要...

    在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图:
    需要设置prefs


    QjIfMvb.png!web.png


    设置跳转有三种方式,每一种的使用场景都不同。 并且你在跳转到系统中自己应用下面设置的时候,你的应用要提前至少申请了某一个权限,如通知,定位等。否则,会引起崩溃。

    • 方式一:prefs:root=某项服务
    • 方式二:prefs:root=bundleID
    • 方式三: UIApplicationOpenSettingsURLString
      本篇针对iOS7、iOS8、iOS9、iOS10,来介绍其中区别。

    一、跳转方法

    iOS系统版本 < 10.0

    NSURL *url= [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];
    if( [[UIApplication sharedApplication]canOpenURL:url] ) {
       [[UIApplication sharedApplication]openURL:url];
    }

    iOS系统版本 >= 10.0

    if( [[UIApplication sharedApplication]canOpenURL:url] ) {
        [[UIApplication sharedApplication]openURL:url options:@{}completionHandler:^(BOOL        success) {
        }];
    }

    可以看出,跳转方法非常简单。本文重点讲解url 怎么设置

    二、跳转到哪里去?(系统的设置,系统中自己应用下面的设置)

    • 方式一:

      iOS系统版本 <= iOS7 , 只能跳转到 系统设置页面

      NSURL *url= [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"];

      跳转到: 隐私-定位服务。
      prefs:root=某项服务

      系统设置:prefs:root=INTERNET_TETHERING
      WIFI设置:prefs:root=WIFI
      蓝牙设置:prefs:root=Bluetooth
      系统通知:prefs:root=NOTIFICATIONS_ID
      通用设置:prefs:root=General
      显示设置:prefs:root=DISPLAY&BRIGHTNESS
      壁纸设置:prefs:root=Wallpaper
      声音设置:prefs:root=Sounds
      隐私设置:prefs:root=privacy
      蜂窝网路:prefs:root=MOBILE_DATA_SETTINGS_ID
      音乐:prefs:root=MUSIC
      APP Store:prefs:root=STORE
      Notes:prefs:root=NOTES
      Safari:prefs:root=Safari
      Music:prefs:root=MUSIC
      photo":prefs:root=Photos

      这种跳转方式,都是跳转到系统的设置界面。

    • 方式二 :

      iOS系统版本 >= iOS8 ,支持跳转到第三方应用的设置界面中
      使用prefs:root=bundleID ,bundleID是你第三方应用工程的唯一ID
      局限性:只支持iOS8,iOS9系统,在iOS10系统上,不会跳转。 在iOS7系统上,仅仅只是跳转到设置应用,不推荐使用。

      如果需要继续向项目内层进行跳转,可以通过添加path路径的方式,如下:

      关于本机:prefs:root=General&path=About
      软件升级:prefs:root=General&path=SOFTWARE_UPDATE_LINK
      日期时间:prefs:root=General&path=DATE_AND_TIME
      Accessibility:prefs:root=General&path=ACCESSIBILITY
      键盘设置:prefs:root=General&path=Keyboard
      VPN:prefs:root=General&path=VPN
      壁纸设置:@"prefs:root=Wallpaper
      声音设置:prefs:root=Sounds
      隐私设置:prefs:root=privacy
      APP Store:prefs:root=STORE
      还原设置:prefs:root=General&path=Reset
      应用通知:prefs:root=NOTIFICATIONS_ID&path=应用的boundleId

      更多参数字段自己查询

    • 方式三

      iOS系统版本 >= iOS10,支持跳转到自己应用设置,不支持跳转到系统设置

      NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

      UIApplicationOpenSettingsURLString字段,是在iOS8上才提供的,支持iOS8,iOS9,iOS10系统,推荐使用。
      iOS系统版本>= iOS10,支持跳转到自己应用设置,不支持跳转到系统设置
      只认

      NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

      跳转。
      而 prefs:root=bundleID和 prefs:root=服务 都将不起作用。

    总结一下:

    • 方式一:prefs:root=某项服务 适用于 小于 iOS10的系统;
    • 方式二:prefs:root=bundleID 适用于 大于等于iOS8系统,小于iOS10的系统
    • 方式三:UIApplicationOpenSettingsURLString 适用于 大于等于iOS8的系统

    参考链接:http://www.jianshu.com/p/767c409c50e6

    展开全文
  • 示例:项目里面有扫码功能,当用户第一次扫码—选择不允许访问相机,再次使用扫码APP就需要引导用户到系统的相机页面开启相机权限。类似的功能还有定位、录音、蓝牙、相册等,这些功能都需要给...iOS11之后不允许跳...

    示例:项目里面有扫码功能,当用户第一次扫码—选择不允许访问相机,再次使用扫码APP就需要引导用户到系统的相机页面开启相机权限。类似的功能还有定位、录音、蓝牙、相册等,这些功能都需要给用户提示/引导。

    根据上述情况,市场上的App有两种做法:

    • 不做跳转,给用户提示;
    • 给用户提示,并做跳转,引导用户到设置界面; 

     

    总述:

    iOS10之前可以进入系统设置的子页面
    iOS11之后不允许跳转到设置的子页面,只允许跳转到设置界面(首页)

     
    // 跳转到设置 - 相机 / 该应用的设置界面
    NSURL *url1 = [NSURL URLWithString:@"App-Prefs:root=Privacy&path=CAMERA"];
    // iOS10也可以使用url2访问,不过使用url1更好一些,可具体根据业务需求自行选择
    NSURL *url2 = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    if (@available(iOS 11.0, *)) {
        if ([[UIApplication sharedApplication] canOpenURL:url2]){
            [[UIApplication sharedApplication] openURL:url2 options:@{} completionHandler:nil];
        }
    } else {
        if ([[UIApplication sharedApplication] canOpenURL:url1]){
            if (@available(iOS 10.0, *)) {
                [[UIApplication sharedApplication] openURL:url1 options:@{} completionHandler:nil];
            } else {
                [[UIApplication sharedApplication] openURL:url1];
            }
        }
    }
    
    

    附:iOS 10之前常用的跳转指令(现已经被苹果列为非公开API,有审核风险) 

    • iOS 10 以前:
    蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_ID
    Wi-Fi:prefs:root=WIFI
    定位服务:prefs:root=LOCATION_SERVICES
    个人热点:prefs:root=INTERNET_TETHERING
    关于本机:prefs:root=General&path=About
    辅助功能:prefs:root=General&path=ACCESSIBILITY
    飞行模式:prefs:root=AIRPLANE_MODE
    锁定:prefs:root=General&path=AUTOLOCK
    亮度:prefs:root=Brightness
    蓝牙:prefs:root=Bluetooth
    时间设置:prefs:root=General&path=DATE_AND_TIME
    FaceTime:prefs:root=FACETIME
    设置:prefs:root=General
    设置 prefs:root=SETTING
    定位服务 prefs:root=LOCATION_SERVICES
    键盘设置:prefs:root=General&path=Keyboard
    iCloud:prefs:root=CASTLE
    iCloud备份:prefs:root=CASTLE&path=STORAGE_AND_BACKUP
    语言:prefs:root=General&path=INTERNATIONAL
    定位:prefs:root=LOCATION_SERVICES
    音乐:prefs:root=MUSIC
    
    • iOS 10 开始
    Wi-Fi: App-Prefs:root=WIFI
    蓝牙: App-Prefs:root=Bluetooth
    蜂窝移动网络: App-Prefs:root=MOBILE_DATA_SETTINGS_ID
    个人热点: App-Prefs:root=INTERNET_TETHERING
    运营商: App-Prefs:root=Carrier
    通知: App-Prefs:root=NOTIFICATIONS_ID
    通用: App-Prefs:root=General
    通用-关于本机: App-Prefs:root=General&path=About
    通用-键盘: App-Prefs:root=General&path=Keyboard
    通用-辅助功能: App-Prefs:root=General&path=ACCESSIBILITY
    通用-语言与地区: App-Prefs:root=General&path=INTERNATIONAL
    通用-还原: App-Prefs:root=Reset
    墙纸: App-Prefs:root=Wallpaper
    Siri: App-Prefs:root=SIRI
    隐私: App-Prefs:root=Privacy
    定位: App-Prefs:root=LOCATION_SERVICES
    Safari: App-Prefs:root=SAFARI
    音乐: App-Prefs:root=MUSIC
    音乐-均衡器: App-Prefs:root=MUSIC&path=com.apple.Music:EQ
    照片与相机: App-Prefs:root=Photos
    FaceTime: App-Prefs:root=FACETIME
    

    iOS 10 绕过审核进行跳转到蓝牙开关的方法

    //亲测iOS 10.3.3 有效
    - (void)turnToBluetooth {
         if (iOS_Version <= 10) {
             [self setBlueTooth];
        } else {//@"App-Prefs:root=General&path=Bluetooth"
            NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
            [[UIApplication sharedApplication] openURL:url];
        }
    }
    
    
    -(NSString *) getDefaultWork{
        NSData *dataOne = [NSData dataWithBytes:(unsigned char []){0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x57,0x6f,0x72,0x6b,0x73,0x70,0x61,0x63,0x65} length:16];
        NSString *method = [[NSString alloc] initWithData:dataOne encoding:NSASCIIStringEncoding];
        return method;
    }
    
    -(NSString *) getBluetoothMethod{
        NSData *dataOne = [NSData dataWithBytes:(unsigned char []){0x6f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x69,0x74, 0x69,0x76,0x65,0x55,0x52,0x4c} length:16];
        NSString *keyone = [[NSString alloc] initWithData:dataOne encoding:NSASCIIStringEncoding];
        NSData *dataTwo = [NSData dataWithBytes:(unsigned char []){0x77,0x69,0x74,0x68,0x4f,0x70,0x74,0x69,0x6f,0x6e,0x73} length:11];
        NSString *keytwo = [[NSString alloc] initWithData:dataTwo encoding:NSASCIIStringEncoding];
        NSString *method = [NSString stringWithFormat:@"%@%@%@%@",keyone,@":",keytwo,@":"];
        return method;
    }
    
    -(void)setBlueTooth {
        NSString * defaultWork = [self getDefaultWork];
        NSString * bluetoothMethod = [self getBluetoothMethod];
        NSURL*url=[NSURL URLWithString:@"Prefs:root=Bluetooth"];
        Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");
        [[LSApplicationWorkspace performSelector:NSSelectorFromString(defaultWork)] performSelector:NSSelectorFromString(bluetoothMethod) withObject:url withObject:nil];
    
    }

    参考原文链接:https://www.jianshu.com/p/be09f5709c2c

    参考原文链接:https://www.jianshu.com/p/5fd0ac245e85
     
     

    展开全文
  • iOS10跳转系统设置、WIFI、蓝牙...

    万次阅读 2019-03-28 19:28:51
    iOS自我们熟悉以来,就一直与Android有着不一样的体验, 系统更加流畅,使用更加舒适, ...就比如iOS10以前,我们开发的应用想要跳转到系统设置,跳转蓝牙,跳转到WIFI… iOS开发工程师们都很熟悉,系统给
  • 打开蓝牙来允许”xxx”连接到配件

    万次阅读 2014-11-20 14:52:36
    一直以来,在使用别人的app时,会经常看到一个”打开蓝牙来允许”xxx”连接到配件”的弹出框(如下图),点击设置按钮,就可以跳转ios系统的setting界面. 后来终于明白怎么回事了.原来是ios系统做的提示,就像使用系统...
  • iOS中APP跳转到系统的各种设置界面

    千次阅读 2016-05-26 16:58:23
     在很多的APP中需要设置系统的内容的时候,APP内部会通过某种跳转的方式跳转到系统的setting的功能,但是iOS5.1以后就不能正常调用了,下面写出转到系统setting的两种方式: 方式一: 跳到WiFi设置界面、定位服务...
  • iOS跳转蓝牙设置页面

    千次阅读 2016-04-07 15:40:28
    之前做蓝牙小应用的时候有个需求是:进入app发现没有打开蓝牙,需要切换到系统设置页面的蓝牙中。开始以为苹果不支持直接从应用跳转,需要用到私有API什么的,后来发现,这个功能其实非常好实现! 跳转设置蓝牙页面...
  • js 实现呼起(打开)app

    万次阅读 2017-03-30 13:06:25
    我们知道,js是无法判断手机是否安装了某款app的,但是有时候我们会有这样的需求:点击下载app按钮,如果已经安装了这款app则呼起,如果没有安装则跳转到下载页。思路: 在前端,如果想实现上述问题,首先得有个url...
  • [已解决]prefs:root 上架被拒问题

    万次阅读 2018-07-07 11:21:01
    项目app是做蓝牙的,但是最近上架app store被拒,苹果发来的邮件内容如下看着这个prefs:root的字样,想到了qpp跳转到系统蓝牙页面的功能。所以猜测是因为现在苹果不支持这种api了,在审核的时候发现这字样的代码,就...
  • iOS10跳转系统设置的正确姿势

    千次阅读 2017-04-17 18:06:19
    iOS10更新后,系统设置跳转被禁用,只能跳转App设置? NO, NO, NO, 看这里,又可以换个姿势愉快的跳转啦。 其实方法很简单,例如原有跳转Wi-Fi设置是"prefs:root=WIFI",新的写法是"App-Prefs:root=WIFI"。...
  • 选择为 iOS 开发软件的她厉害了!》 无论在哪个国家——哪怕是在计算机产业最为发达的美国,老人熟练使用电脑的现象都很少出现。但是,你千万不要以年纪来判断一个人的电脑技术,因为一个比你年长两倍甚至三倍的人,...
  • iOS10跳转系统设置、WIFI、蓝牙

    千次阅读 2017-05-12 10:14:34
    蓝牙: App-Prefs:root=Bluetooth 蜂窝移动网络: App-Prefs:root=MOBILE_DATA_SETTINGS_ID 个人热点: App-Prefs:root=INTERNET_TETHERING 运营商: App-Prefs:root=Carrier 通知: App-Prefs:root=NOTIFICATI
  • iOS 跳转到系统指定设置界面

    千次阅读 2017-06-20 10:33:41
    最近做社区项目,有一模块是用户连接WiFi,但是由于苹果限制只能让用户跳转到设置里面的WiFi列表界面连接。跳转到自己的项目中在需要调转的按钮动作中添加如下的代码,就会跳转到设置中自己的app的设置界面,这里会...
  • 第一种方式: 在iOS10更新后,系统设置跳转被禁用,只能跳转App设置,但是最近发现苹果又更新了URLscheme,亲测可用,建议iOS10已下,还用原来的scheme
  • iOS对于App的权限管理有了很大的进步,但是当自己的App被禁止通知或者禁止联网使用蓝牙等情况发生时,怎么引导用户去设置页面打开这些权限,是很多产品需要的功能。 这边文章都是以跳转设置推送页面为例,更多的URL...
  • [iOS]iOS中使用URLScheme进行App跳转

    万次阅读 2018-03-05 21:13:09
    URLScheme的作用我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的。...
  • iOS10 跳转系统设置

    千次阅读 2018-01-23 09:10:19
    iOS10更新后,系统设置跳转被禁用,只能跳转App设置? NO, NO, NO, 看这里,又可以换个姿势愉快的跳转啦。其实方法很简单,例如原有跳转Wi-Fi设置是”prefs:root=WIFI”,新的写法是”App-Prefs:root=WIFI”。怎么...
  • 苹果秋季发布会在软件方面,备受期待的莫过于 iOS 11,阅读本文,让我们一起一睹 iOS 11 的风采。
  • [蓝牙]蓝牙4.0 for iOS

    千次阅读 2016-04-06 22:46:13
    用于IOS,更多说的是开发有关 ...7 CC2540官方源码8 经验9 IOS蓝牙4.0支持10 IOS库支持11 官方文档说法12 见识 12.1 [iOS][RCtank]在xcode的iOS虚拟机中对BLE(蓝牙4.0)进行调试_jiangl
1 2 3 4 5 ... 20
收藏数 2,178
精华内容 871
关键字:

11 ios 跳转蓝牙