iOS系统授权开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS系统授权开发相关的知识,希望对你有一定的参考价值。

参考技术A ios系统开发中,最常用的系统授权,莫过于 系统通知 , 用户相册 , 位置服务 了,这篇文章将简单讲解这三项功能的开发,并附带我写的一个 开源项目 ,统一管理系统授权。

注:本文和项目基于 iOS 8.0 及以上系统框架,低版本框架接口略有不同。

系统通知方法在UIApplication类方法中,其中使用 isRegisteredForRemoteNotifications 获取本地推送授权状态。

这里授权状态的枚举类型有

原枚举如下

授权方法

注意,每一项授权,一旦用户拒绝,必须前往 设置 的相关APP页面开启。APP内跳 设置 的方法是

注册本地通知也是有回调的,实现 UIApplicationDelegate 的 didRegisterUserNotificationSettings 方法。

相应的也有失败的回调。

8.0系统版本以后,框架中加入了 Photos.framework 框架,当然是用 UIImagePickerController 同样会提醒用户授权使用相册或相机,这里介绍一下 Photos 框架的授权。

相册权限状态

这里授权状态有四个状态

授权Block方法

位置服务授权稍微复杂一点点,8.0以后,进行位置服务授权要注意一点是,需要在工程的 Info.plist 文件中加入 NSLocationAlwaysUsageDescription 字段。字段中是开发者展示给用户的位置服务的使用场景介绍,或者是请求授权的描述。如果不添加这个字段,授权接口无任何反应。

状态接口

授权方法

注意这里传入的manager一定要是个 property ,如果是一个局部变量,大括号结束,释放掉了,授权就会消失,就会出现授权框一闪而过的现象。

开源项目 DeviceAccessViewController

PermissionScope ( Github )是一个超级屌,并且好用的开源控件,用来向用户申请系统授权。如果你有使用 cocospod 管理工具,这样加入 use_frameworks! ,因为 PermissionScope 是 swift 写的,需要编译成Framework才可以给ObjC用。

具体用法

这个例子很明了吧,但要注意几点

手机操作系统“国产化”,阿里华为或共同开发,比肩iOS和安卓

手机操作系统“国产化”,阿里华为或一起开发,比肩iOS和安卓

现在国产手机的操作系统便是谷歌旗下的安卓系统,苹果手机是它自主研发的IOS系统。我们国内还没有研发出真正属于自己的操作系统也是令人着急呀,如果哪一天谷歌不授权了,那岂不是会导致很多厂商无法生产手机了,我们消费者就会成为最大的受害者。

阿里华为或一起开发,手机操作系统“国产化”

如果我们自己研发出一个新的操作系统,那么我们就不会受到别人的限制,不用看别人的“眼色”了。最近引起全球关注的华为Mate20在国产手机中表现很优秀,阿里也是国内最大的电商集团,他们两个公司都是靠自己的打拼一步一步的爬起来的。如果阿里和华为一起研究出一款属于国产机的系统,那岂不是很牛。他们各有各的优势,一起互补,如果形成了一个操作系统就可以使我们的手机引向海外的其他市场,到时候让别人对我们另眼相看。

最近有传言华为在研究麒麟OS系统加上阿里已经有Alios系统,其实这两个大的系统可以联合在一起,既可以节约资源也可以使系统达到最佳效果。其他手机厂商就没有必要再研发OS系统了,这样会浪费很多资源,操作系统一多了反而不好,所以我们国家就做一个操作系统,把它做到最优化就行了。只要我们有属于自己国家的操作系统就很不错了。争过去争过来到时候谁受伤都是在浪费国家的资源。

自己的OS系统更方便

华为在自主研究这方面没有什么问题,因为华为一向都喜欢走不一样的路线,而阿里虽然有了Alios,但是他在手机市场上没有什么地位。就像魅族手机系统就是用的Alios,但是用户的使用后都不是很好。如果他们两个在技术方面进行合作,使Alios更加优化,应该效果会更好,比肩iOS和安卓。

我们都是生活在一个生态圈里面,所以不要单独的进行研究,可以多个品牌一起进行研发,到时候使我们的系统超越安卓系统,然后把我们的OS系统引用到国外的市场中去。

小编看来华为和阿里这样合作也是不错的,为我们国家争光,研发出一款真正属于自己国家的OS系统,到时候不要像谷歌一样出现垄断的现象了,自己人要照顾自己人。

对于阿里华为联合研发手机系统你们怎么看?

以上是关于iOS系统授权开发的主要内容,如果未能解决你的问题,请参考以下文章

iOS10以上App请求用户授权系统设置权限

iOS开发中的这些权限,你搞懂了吗?

iOS15系统App Tracking Transparency提审被拒

IOS获取系统通讯录联系人信息

iOS开发实战——摄像头与相册权限获取逻辑优化

iOS--浅谈iOS沙盒目录