记录iOS开发中的一些小技巧(二)

UIApplication跳转iPhone设置页面
调用跳转设置页面的方法如下
- (void)openURL:(NSURL *)url {
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        if ([[UIDevice currentDevice].systemVersion floatValue] < 10.0) {
            [[UIApplication sharedApplication] openURL:url];
        }else {
            //iOS10以上调用这个方法 options中参数含义有待观察
            [[UIApplication sharedApplication]
             openURL:url options:@{
                                   UIApplicationOpenURLOptionsOpenInPlaceKey : @"0",
                                   UIApplicationOpenURLOptionsSourceApplicationKey: @"com.xxx.www"
                                   } completionHandler:^(BOOL success) {
                                       NSAssert(!success, @"调用失败");
                                   }];
        }
    }
}
跳转到当前APP的设置页
[self openURL:UIApplicationOpenSettingsURLString];

iOS10以上只能跳自己APP的设置页,如果调用未公开的方法将会影响审核,但是也有办法解决。利用ASCII值对URL进行拼装组合,可以绕过苹果的审核

- (void)openPrivateURL:(NSURL *)url { 
    url=[NSURL URLWithString:@"Prefs:root=General&path=About"];
    
    Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");
    [[LSApplicationWorkspace  performSelector:NSSelectorFromString(@"defaultWorkspace")]  performSelector:NSSelectorFromString(@"openSensitiveURL:withOptions:") withObject:url withObject:nil]
    [self openPrivateURL:url];
}

当然我们不鼓励这种行为,因为用的人多了,很容易引起苹果的注意。

以下是跳转苹果设置的url,在app中使用将影响审核,慎用
    @"Prefs:root=General&path=About",//关于本机
    @"Prefs:root=General&path=ACCESSIBILITY",//辅助功能
    @"Prefs:root=AIRPLANE_MODE",//飞行模式
    @"Prefs:root=General&path=AUTOLOCK",//自动锁定
    @"Prefs:root=General&path=DATE_AND_TIME",//日期与时间
    @"Prefs:root=FACETIME",//faceTime
    @"Prefs:root=General&path=Keyboard",//键盘
    @"Prefs:root=CASTLE",//iCloud
    @"Prefs:root=CASTLE&path=STORAGE_AND_BACKUP",//存储空间
    @"Prefs:root=General&path=INTERNATIONAL",//语音与地区
    @"Prefs:root=LOCATION_SERVICES",//定位服务
    @"Prefs:root=ACCOUNT_SETTINGS",//邮件-通讯录-日历
    @"Prefs:root=MUSIC",//音乐
    @"Prefs:root=MUSIC&path=EQ",//音乐
    @"Prefs:root=MUSIC&path=VolumeLimit",//音乐
    @"Prefs:root=NIKE_PLUS_IPOD",//通用
    @"Prefs:root=NOTES",//备忘录
    @"Prefs:root=NOTIFICATIONS_ID",//通知
    @"Prefs:root=Phone",//电话
    @"Prefs:root=Photos",//照片与相机
    @"Prefs:root=General&path=ManagedConfigurationList",//描述文件
    @"Prefs:root=General&path=Reset",//还原
    @"Prefs:root=Sounds&path=Ringtone",//电话铃声
    @"Prefs:root=General&path=Assistant",
    @"Prefs:root=Sounds",//声音
    @"Prefs:root=General&path=SOFTWARE_UPDATE_LINK",//软件更新
    @"Prefs:root=STORE",//app store
    @"Prefs:root=TWITTER",
    @"Prefs:root=General&path=USAGE",
    @"Prefs:root=VIDEO",//视频
    @"Prefs:root=General&path=Network/VPN",
    @"Prefs:root=Wallpaper",//墙纸
    @"Prefs:root=WIFI",//wifi
    @"Prefs:root=INTERNET_TETHERING",//个人热点
    @"Prefs:root=Bluetooth";//蓝牙
还有几种系统级的方法

打开email

    [[self openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];

打开Safari

    [self openURL:[NSURL URLWithString:@"http://coder-lee.lofter.com/"]];

打开短信

    [self openURL:[NSURL URLWithString:@"sms://10086"]];

拨打电话

    [self openURL:[NSURL URLWithString:@"tel://10086"]];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,571评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,251评论 4 61
  • 我怎舍得放弃你,我深爱的你 那是一年初秋时节,在偌大而拥挤的人海中,你就那样突然的蹿入我视线。那分明是一道靓丽的彩...
    端木一止阅读 975评论 4 1
  • 深夜突然有泪流满面的冲动,这是许久没发生过的事了。 这几日经历的事,潮水一样涌入脑海,放电影一般的画面。此刻的心绪...
    花脸的花花阅读 716评论 0 2
  • 文/流夏 此刻身边是有一碟子的蜜渍山楂,红色的果子外头裹着一层泛着光的蜂蜜,晶莹透亮得可爱。奶奶说,你怎么又瘦了?...
    蔷森阅读 364评论 0 2