iOS苹果超级签名

今天我们来讲讲苹果超级签名,对于新手感觉无从下手,那么我将分析利弊,希望能帮到你!

市面上,mac环境下的第三方签名工具很多。但主要问题是需要mac环境的主机,这个就很麻烦,我们这里不推荐!

还有呢就是通过Linux的环境来签名,这个可用的工具较少,但主流的服务器都是用Linux来搭建的。这里我们主要来讲讲这个环境下,我们应该怎么来签名!

签名你可能听过比较有名气的:Spaceship

Spaceship

优点

    功能强大。几乎所有你在浏览器上对Apple Developer Center 和 App Store Connect的操作都可以通过Spaceship命令解决。

    cookie有效期比较长。上面讲了Spaceship的原理是模拟网页请求,所以得先登录(账号、密码),登录后cookie保留在本地,有效期一个月,cookie失效前请求API不需要在登录。

缺点

    需要登录两次。Apple Developer Center 和 App Store Connect 需要分别登录,一方生成的cookie对另一方可能不管用。

    双重认证。如果你的开发者账号开了双重认证,那登录的时候还需要验证码。验证码这个东西使整体可用性大大降低。

    对Window系统支持不友好。Spaceship是Fastlane的子工具,是Ruby开发的,需要Unix(Mac)环境。有人说Window上也可以跑Ruby。大家可以自行尝试。

    非官方API。因为是非官方API,所以后续如果苹果有改动,可能就用不了了,得Spaceship作者及时更新才行。

App Store Connect API

优点

    不需要登录。App Store Connect API是利用私钥生成token来访问API的。不需要提供开发者账号密码,相对也更安全。

    REST API。App Store Connect API是REST API,这决定了其调用更方便,不受操作系统等限制。

    官方API。维护有保障,即使后续苹果调整了网页内容,其相应API也不会受影响。

缺点

    功能受限。App Store Connect官方文档列出来的API不多,其实还有很多操作苹果都没有提供相应的API,这使得可用性降低,只能期盼后期苹果能多开放一些API。

    token有效期较短。token有效期只有20分钟,过期后得重新生成token。



不过整体来说,区别不大,App Store Connect API 的方式限制少

便于控制和扩展!实际的使用中,访问也不会很慢!这里我主要讲App Store Connect API方式下,应该怎么调用接口。

这里我推荐:https://juejin.im/post/6844904032268451848 这篇文件写的非常好,App Store Connect API 的接口都有说到。这里我就不详细赘述了,但是里面没有具体的编码。

通过分析调试接口,我编码了PHP方式的接口,全部调试通过,拿来就可以使用。喜欢的童鞋可以拿去

https://github.com/lansexin/iosapi

接口调用前,希望你准备好以下:

1.一个可用的苹果开发者账号

2.请求App Store Connect API访问权限。登录:App Store Connect后台,“用户和访问” - “密钥”,点击“请求访问权限”。只有agent才有权限

2.生成密钥。

申请访问权限后,才会看到“生成密钥”的按钮,点击“生成密钥”,根据提示起个名字,完成后会产生一个“Issuer ID”和“密钥ID”,这两个参数后面生成token需要用到。下载密钥,密钥是一个.p8的文件,注意:私钥只能下载一次,永远不会过期,保管好,如果丢失了,去App Store Connect后台撤销密钥,否则别人拿到也可以用。

接口说明:https://github.com/lansexin/iosapi

Apapi.php 该文件是接口初始化入口。需要传递上面生成的相关key和秘钥p8

getCSR()    1.获取CSR文件。

get_distribution_pem()    2.获取distribution_key.pem文件。

exportP12();        3.导出p12文件。

createProvision()     4.生成profile,并下载mobileprovision文件。

里面的内容都有注释,希望对你有帮助!

有现成案例:www.aisignapp.com,可以测试

你可能感兴趣的:(iOS苹果超级签名)