首页 > 编程知识 正文

ios 发布证书,ios安装企业证书

时间:2023-05-06 20:45:59 阅读:252018 作者:298

在开发中,我们需要进行对应用程序进行调试,有如下打包方案
1.iOS 无证书真机调试流程
2.个人/公司证书
3.企业证书
在使用企业证书打包时,能够通过分发子证书的形式去打包,在分发的子证书中,只需要企业内其他开发者生成
如下证书和描述文件,还有一个在证书中绑定的应用Bundle identifier即可:

在内部非主机开发者使用的时候,只需要将p12(导入时需要导出时设置的密码)文件导入到钥匙串,然后在Xcode中[项目名->target->build settings->Code Signing Identity]处选择导入的钥匙串,在[项目名->General->Signing->Provisioning Profile]描述文件处(provisioning profile)进行[Import Profile]hellowoeee.mobileprovision这个描述文件即可进行打包

对于上面这种行为就是指定证书打包方式,当然还有自动管理证书打包方式,自动签名管理打包只需要在[项目名->General->Signing->Automatically manage signing]选中下面按钮,然后进行打包即可

注意:
1.如果是指定证书打包的形式,是不用登录原企业账号的,只需要p12文件、p12文件的密码和绑定在证书上的bundle identifier 、证书文件
2.自动管理是需要登录企业证书账号的,用于自动管理证书

在打包完成之后,我们需要提供给使用者进行下载,此时有以下解决方案:
1.上传到内侧平台,如fir.im、蒲公英平台等
2.自己搭建服务器,在自己搭建服务器的时候,需要注意的是必须需要https服务器才能够进行提供下载功能,准确的说就是这个plist文件是需要https服务器的,在下载的时候,需要在服务器上面提供ipa文件、bp.plist文件,在需要下载的按钮或者a标签处直接访问bp.plist文件即可,而此时bp.plist文件的内容需要指定到ipa文件存放的地址,如下所示内容为bp.plist
[我这边测试过,可以将自己使用的plist文件存放到github或者码云上面拥有https协议的存储管理上面,然后复制raw方式文件地址,如下面所示这种地址形式]

https://raw.githubusercontent.com/suwu150/web-crawler/master/test/bp.plist

下面就是我在项目中使用的plist文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>items</key><array><dict><key>assets</key><array><dict><key>kind</key><string>software-package</string><key>md5</key><string>247c3c09df432fe363d18f4b288c38b8</string><key>url</key><string>https://www.suwu150.cn:9080/ios/codeFile.ipa</string></dict><dict><key>kind</key><string>display-image</string><key>needs-shine</key><false/><key>url</key><string>https://www.suwu150.cn:9080/ios/ios.png</string></dict></array><key>metadata</key><dict><key>bundle-identifier</key><string>com.suwu150.ied</string><key>kind</key><string>software</string><key>title</key><string>rrrr</string></dict></dict></array></dict></plist>

如上面所示代码,md5键值是需要和文件中的一致,否则在ios13系统中是不能够安装的,会安装到一半然后提示无法安装,请稍后重试弹窗,获取md5码值的方法参考下面代码,url所指定的位置就是.ipa的位置,在点击按钮或者a标签下载的时候,会通过ituns进行下载这个文件进行安装,display-image是在安装时需要显示在桌面上的图标,如果没有该条值,则在安装时会显示白色空白图标(默认图标)进行显示。
获取md5值:

var fs = require('fs');var crypto = require('crypto');var path = './codeFile.ipa';var start = new Date().getTime();var md5sum = crypto.createHash('md5');var stream = fs.createReadStream(path);stream.on('data', function(chunk) { md5sum.update(chunk);});stream.on('end', function() { str = md5sum.digest('hex'); console.log('文件:'+path+',MD5签名为:'+str+'.耗时:'+(new Date().getTime()-start)/1000.00+"秒");});

编辑日期2019-12-2日

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。