美文网首页美文共赏
iOS苹果超级签名

iOS苹果超级签名

作者: 58fc2b07ca32 | 来源:发表于2021-11-24 16:25 被阅读0次

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

    市面上,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苹果超级签名

        本文链接:https://www.haomeiwen.com/subject/dhontrtx.html