编程类图书馆iOS进阶干货分享

iOS应用签名(下)

2019-04-24  本文已影响11人  _小迷糊_997

描述文件

前面的文章我们已经介绍了简单的应用签名但是这种签名方式并不能解决应用滥用的问题,所以苹果又加了两个限制.第一限制在苹果后台注册过的设备才可以安装.第二限制签名只能针对某一个具体的APP.并且苹果还想控制App里面的iCloud/PUSH/后台运行/调试器附加这些权限,所以苹果把这些权限开关统一称为Entitlements(授权文件).并将这个文件放在了一个叫做Provisioning Profile(描述文件)文件中.描述文件是在AppleDevelop网站创建的(在Xcode中填上AppleID它会代办创建),Xcode运行时会打包进入APP内.

所以我们使用CSR申请证书时,我们还要申请一个东西!! 就是描述文件!!流程如下

这个描述文件里面就是 可以安装的设备有哪些.. APP的ID是什么.. 权限是些什么!
在开发时,编译完一个 APP 后,用本地的私钥M对这个APP进行签名,同时把从苹果服务器得到的 Provisioning Profile 文件打包进APP里,文件名为embedded.mobileprovision,把 APP 安装到手机上.

我们可以利用$security cms -D -i embedded.mobileprovision命令查看Provisioning profile内容,这些Xcode创建的Profile文件都存放在~/Library/MobileDevice/Provisioning Profiles/目录下

注意! 每次我们新建项目其实会生成一个描述文件!选择运行到手机上!! 我们只需要编译一下!在APP包里面就可以看到.


那么为了便于我们查看信息! 我们可以通过Xcode来查看!!

当然,Provisioning profile本身也是通过签名认证的,所以别想着你可以更改里面的东西来达到扩充权限\设备的目的.只有老老实实的去网站向Apple申请一份权限更多\设备更多的profile。

整体的流程

首先我们总结一下刚才的一些名词

流程如下:

APP签名的数据
这里对 App 的签名数据保存分两部分

MachOView查看

至此关于iOS应用签名的原理就介绍完了.下篇文章将介绍iOS应用重签名技术.
由于知识水平有限如有错误及不足,欢迎大家留言区评论指正.

原文地址:

上一篇下一篇

猜你喜欢

热点阅读