对于IOS证书申请以打包流程的相关介绍114
发表时间:2023-07-05 09:00 针对申请IOS证书很多消费者都是不知道的,常常一头雾水。甚至连打包过程都不是很明白。今天的小编便来与你们分享一番! 证书申请step1:生成钥匙串CSR文件 1)开启->钥匙串访问 2)开启右上边钥匙串访问栏->证书助理->从证书签发机构请求证书… 3)填写一个邮件地址,选择“存储到磁盘”,点击继续。 4)储存生成的钥匙串文件。申请成功后的文件:ios咨询 Keychain将生成一个包括开发者身份信息的CSR(CertificateSigningRequest)文件。同时,KeychainAccess->Keys(密钥)中增加一对Public/PrivateKeyPair。 私钥(privatekey)一直保存在MacOS的KeychainAccess中,用于签名(CodeSign)对外公布的App。 公钥(publickey)通常随证书散布出来,对App签名进行校验认证。 step2:注册项目的BundleID 1)登陆(99美元账号)苹果开发者中心 2)选择“Certificates”: 3)点面板中的AppIDs右上角的加号。 4)填写AppID的名字 5)填写bundleID: AppID(bundleidentifier) AppID即ProductID,用于标志一个甚至一组App。 AppID字符串一般以反域名(reverse-domain-name)格式的CompanyIdentifier(CompanyID)作为前缀(Prefix/Seed),一般不少于255个ASCII字符。 AppID全名会被追加ApplicationIdentifierPrefix(一般为TeamID.),分为两类: ExplicitAppID:唯一的AppID,用于唯一标志一个应用程序。例如“com.apple.garageband”这个AppID,用于标志BundleIdentifier为“com.apple.garageband”的App。 WildcardAppID:含有通配符的AppID,用于标志一组应用程序。例如“*”(实际上是ApplicationIdentifierPrefix)表示所有应用程序;而“com.apple.*”可以表示BundleIdentifier以“com.apple.”开头(小米公司)的所有应用程序 AppID需要和Xcode中的BundleIdentifier是一致(Explicit)的或匹配(Wildcard)的。 AppID在xcode中被配置到【XcodeTarget|Info|BundleIdentifier】下;对于WildcardAppID,只要bundleidentifier包含其成为Prefix/Seed即可。 6)选择App需要支持的服务,如:app需要推送服务,就勾选PushNotifications。点击“continue” 7)最终会有一个具体的内容列表,对应无误后,提交完成。注册结束。 step3:申请证书 iOS证书是拿来证明iOSApp内容(executablecode)的合法性和完整性的数字证书。对于想安装到真机或发布到AppStore的应用程序(App),只有经过签名验证(SignatureValited)能够保证来源可靠,并且确保App内容是完整、未经篡改的。 数字证书是一个经证书授权中心数字签名的包括公开密钥拥有者信息或者公开秘钥的文件。具有时效性,只在特定的时间段内有效。 1)点击面板的Certificates右上角的“+”号(也可直接点击“Certificate”下的“Development”或“Production”,直接选取申请研发证书或制造证书) 2)选用证书的类别,下面列出我们iOS开发常用的证书类型 Certification(证书) 证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种: DeveloperCertification(开发证书) 安装在手机上提供权限:开发人员通过仪器进行真机检测。 可以生成副本供多台电脑安装; DistributionCertification(发布证书) 安装在手机上提供发布iOS程序的权限:开发人员可以制作测试版和公布版的程序。 不可生成副本,仅有配置该证书的手机才可使用; 3)即使是申请推送证书,则会关联一个AppID 4)上传我们之前建好的CSR文件(详见step1) 5)下载证书,双击导入KeychainAccess,可在KeychainAccess->“证书”中查看。 6)展开安装的证书(*.cer)后面的箭头,可以发现其对应的私钥。在KeychainAccess->“密钥”中展开建立CSR时生成的KeyPair中的私钥前面的箭头,可以查看到包括其对应公钥的证书. 导出证书(可选) 1)开启KeychainAccess,选择安装成功的证书,右键选择“导出” 2)输入名字,默认格式为.p12类型,选择“Save” 3)更改密码,点击“OK” 安装证书成功的状况下证书下就会生成Keychain,上面看到的证书副本(导出证书重新命名)就是借助配置证书的手机导出Keychain(就是.p12文件)安装到其它电脑上,让其他机子得到证书对应的权限。DeveloperCertification就可以制作副本Keychain分发到其它电脑上加装,使其可以进行真机检测。 注意:DistributionCertification只有配置证书的手机才可使用,因此虽然导出导出Keychain安装到其它手机上,其他电脑也不可能带有证书的权限。 Step4:添加测试设备 Device就是运行iOS平台用于研发安装App的设施。每台Apple设备使用UDID来唯一标志。 iOS设备连接Mac后,可借助iTunes->Summary或者Xcode->Window->Devices获取iPhone的UDID(identifier)。如果认为麻烦,或则条件不允许可以选用蒲公英提供的方法() AppleMemberCenter网站个人账户下的Devices中包括了注册过的所有可用于研发和检测的设施,普通个人开发账号每年累积最多只能注册100个设备。 用户可在网页上登录或推出/禁用(Enable/Disable)已注册的Device。 此处面的devicesID的建立是为了确保在真机调试时,Xcode能够借助配置文件找到你当前连接的机器能否为即将添加过devicesID的手机,如果不是,不可能调试成功,有新的设备安装,在Xcode中也可以上传这个DevicesID的。 开发描述文件(ProvisioningProfiles)需要绑定设备,所以在办理开发描述文件之前,必需要添加调试的设施(已添加可跳过)。 填写完下一步就好了。 苹果开发者账号中,测试机器列表达到100台上限,想要删除一些设备、添加新设备,怎么办? 经常续约时,有管理员权限的人可以注册,删除掉一些不应该的机器,这些名额会空闲下来,这样就可以添加新机器。(请留意,一旦你进行机器添加操作,之后再删除的机器就不会空出名额了) 如果确实有必须,要在账号续约的一年中,再次重置机器列表,怎么做呢?—向苹果客服发送请求 找到反馈问题的ProgramContact页面,页面位置也许发生变化,目前是php 登录Agent账号,也就是建立团队的根账号。 填写问题,发送,等待客服联系你。 setp5:申请授权文件(ProvisioningProfile) 授权文件是对设施如iPodTouch、iPad、iPhone的授权,文件内记录的是设施的UDID和程序的AppId,即:使被授权的设施可以加装或安装Bundleidentifier与授权文件中记录的AppId对应的程序。 这个profiles其实最后是安装到Xcode里的,它关联证书、AppID、和DeviceID,把前两者结合上去,生成一个可安装的配置文件(后缀名为.mobileprovision),用于Xcode进行真机安装,用于发布应用也一样,在进行App打包生成ipa文件时,也会去验证你的证书和profiles,这只是你是否打包成功的关键。 开发者账号在建立授权文件之后会选取AppId,(开发者帐号下AppId中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。 授权文件分为两种,对应相应的证书使用: DeveloperProvisioningProfile(开发授权文件) 在装有开发证书或副本的电脑上使用,开发人员选用该授权文件通过电脑将程序调试到授权文件记录的设备中,即可进行真机测试。 注意:确保手机有权限真机调试,即加装了研发证书或副本;在开发软件中程序的Bundleidentifier和选中使用的授权文件的AppId要一致;连接安装的设施的UDID在选中的授权文件中有记录。 DistributionProvisioningProfile(发布授权文件) 在装有公布证书的手机上(即配置证书的手机,只有一台)制作测试版和公布版的程序。 发布版就是公布到AppStore上的程序文件,开发者账号创建授权文件时选取store选项,选择AppId,无需选择UDID; 测试版就是在公布之前交给测试人员可同步到仪器上的程序文件,开发者账号创建授权文件时选取AdHoc,选择AppId和UDID;唯有选中的UDID对应的设备才可能加装上借助该授权文件制作的程序。 一个ProvisioningProfile对应一个ExplicitAppID或WildcardAppID。 ProvisioningProfile决定Xcode用什么证书(密钥)/公钥组合(KeyPair/SigningIdentity)来签名应用程序(SigningProduct),将在应用程序打包时嵌入到.ipa包里。 ProvisioningProfile把这种信息全部打包在一起,方便我们在安装和发布程序打包时使用。这样,只要在不同的状况下选择不同的ProvisioningProfile文件就可以了。 ProvisioningProfile也分为Development和Distribution两类,有效期同Certificate一样。Development版本的ProvisioningProfile用于研发安装,Distribution版本的ProvisioningProfile主要用于提交AppStore审核,其不选定开发检测的Devices。 xcode开发时,需在XcodeTarget->BuildSettings->CodeSigning->ProvisioningProfile下配置对应的表述文件(ProvisioningProfiles),然后在CodeSigningIdentity下拉可选择IdentitiesfromProfile“…”(即ProvisioningProfile中包括的Certificates)。 在XcodeTarget->BuildSettings->CodeSigning->ProvisioningProfile可选择“Automatic”,xcode会按照该Target的“Bundleidentifier”选择默认的配置文件及证书。 系统按照配置文件提供的信息进行一一校验,从AppID到Entitenments,从数字证书到设施UDID等,最后运行应用程序到设施。如下所示: 因此,DistributionProvisioningProfile与DevelopmentProvisioningProfile类似,它没有Device配置信息。 1)选取授权文件种类,下面列出了iOS常的授权文件类型 2)选择关联AppID 3)选择关联的证书.你配置开发证书,那这里就唯有开发证书供你选用。配置发布证书,这里就只有发布证书供你选用。如果是配置开发证书,就都会需要你设置,在这个项目中添加这些设施成为真机安装的设施 4)选用授权的设备(借助UDID),除了企业证书(inHouse)外,只有你添加的设施能够进行调度或检测。如果是制造证书配置文件,则不会出现该页面(生产证书用于公布,不能进行开发调试) 5)给授权文件命一个能和其他授权文件区分的名字 6)完成创建后,只要下载这个配置文件,双击运行就可以了。然后退出网站。证书就早已申请好了,配置好了。你也可以真机调试,也能发布了。(Xcode7以后不应该开发者账号也能真机调试,只要你在Xcode登陆AppleID账号,不过公布还是应该开发者账号的)方法: 登录成功后,在窗口右下角选择“ViewDetails”。在跳出的页面中,Download前面创建的证书。 之后下面会出现FixIssue按钮点击就好了,系统自动帮你调试好。(个人理解:这里的BundleID最好在上面加点后缀,不然你将要在网站登录过这个BundleID这里经常报错,或则你这里把BundleID注册了,你另外的账号就得换个BundleID了) 打包发布 打开iTunesConnect()登录账号; 不懂填写什么,可以点问号都是中文的提示 创建后就开启 填写完了,右上存储按钮,保存下。然后再次: 先上传APP截图,最新的要求是即使上传5.5寸的照片就可以了;视频,看个人,好像是十几秒左右吧,我没上传过,图片、视频的内容要是APP中真实存在的;之后就是APP描述(描述的内容要与APP相符合),关键词(估计不能出现竞品的名字,没考证过),技术支持网址,营销网址(两个网址没有也可以用公司的网站);以下个别: 注意:自2018年10月3日起,AppStoreConnect将要求所有的新App和App升级都提供隐私政策,才可提交至AppStore或借助TestFlight外部测试进行分发。此外,您只有在提交App的新版本时,才能编辑App的隐私政策链接或文本。 都填写完了,就存储下。然后检查有没有出错,或则写错的。(填写过程中,最好填写完一些就存储下,防止网络出问题,白弄,特别是上传完照片)之后重返Xcode,打开你的项目: 以下是导出ipa的提交方式: iOS导出4个ipa包的含义 SaveforiOSAppStoreDeployment 保存到本地打算上传AppStore以及在越狱的iOS设备上使用 SaveforAdHocDeployment 保存到本地打算在账号添加的可使用设备上使用(详细为在开发者账户下添加可用设备的udid),该app包是公布证书编译的(Theappwillbecodesignedwiththedistributioncertificate.) SaveforEnterpriseDeployment 这些主要对于企业级账户下打算本地服务器分发的app SaveforDevelopmentDeployment 对于外部测试使用,主要给研发者的设备(详细也为在开发者账户下添加可用设备的udid)。该app包是开发证书编译的(Theappwillbecodesignedwithyourdevelopmentcertificate) 后面几步也有选择公布证书,检查发布配置文件(注:如果是导出到分发网站的ipa,发布的配置文件需要是Ad-hoc的,企业级账号还可以是In-house,详细参考:蒲公英的表明),然后选择保存路径。然后在Xcode里面打开: 运行后,登陆开发者账户。把ipa文件添加上去,下一步,下一步,就可以提交到iTunesConnect了。(提交到分发网站的请参考:)方法差不多,就不解析了。提交过程的快慢跟网速有关,成功后就可以关闭Xcode了,回到iTunesConnect。 进入活动。查看工程是否形成完成;即使完成了,就再次: 添加完构建版本,存储下,整个资料的核对提交差不多完成。然后修改: 这个根据个人意愿,设置费用,销售范围之类。完了检查下,看有没有错误的地方。没有就可以点击右上角的提交以供审核了。 也有一个,你也可以添加APP在APPStore上的本地化,APPStore会按照你做的本地化,实现不同地区的账号看到你的APP显示的是本地化的语言,如果你没做本地化,那么显示就是你的APPStore主要语言 在“版本公布”部分中,选择一个公布选项: 由您自己公布该App:请选择“手动发布此版本”(稍后自动发布此版本) 在App被同意后自动发布:请选择“自动发布此版本” 自动发布该App,但时间不早于某个特定日期:请选择“在App审核后手动发布此版本,时间不早于”,并在此选项下使用控件输入某个日期 首次将您的App发布至AppStore时,您可以选用将您的App以预订形式公布。若您的App支持预订,则其它“版本公布”选项将从系统版本信息页面移除 最终就是这个页面了,还是一样有就有,没有就没有,选择提交。就是期待审核了。现在新提交应用,我个人测试3个工作日上架了,更新迭代的应用是24个小时上架了。这个准确,看运气了。 解决提交出来了,等待构建完成.突然看到在活动中看不到建立的版本的问题: 检查邮件,是不是由于权限问题,构建失败了,所以没有显示形成版本;检查Xcode的Info中应用必须的权限是不是没有对应的Value,没有的话,构建版本是会失败的。解决好权限问题后,修改Xcode的完善版本号bundleVersion,如以往的确立版本为1.0.0,就修改为1.0.0.0,只要app的版本号保持不变,构建版本号与之前的不同就可以了。 总结 1)顺利安装检测证书的条件:a).开发者证书+私钥。b).授权文件。 2)一旦你想借助证书进行真机安装,请选择研发版证书(DevelopmentCertificate),和相应的授权文件(DevelopmentProvisioningProfile)。 3)一旦你想让更多的开发者能进行真机调试,请先对应该真机安装的设施进行授权,然后将研发版证书(DevelopmentCertificate)下载到本机安装后导出为带私的.p12的文件,和相应的授权文件(DevelopmentProvisioningProfile)交由开发者安装,成功后就能进行真机调试。 本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:%e5%af%b9%e4%ba%8eios%e8%af%81%e4%b9%a6%e7%94%b3%e8%af%b7%e4%bb%a5%e6%89%93%e5%8c%85%e6%b5%81%e7%a8%8b%e7%9a%84%e7%9b%b8%e5%85%b3%e4%bb%8b%e7%bb%8d.html 盖特风苹果签名致力于为您提供优质的服务和内容,以满足您的需求。如果您对我们的网站有任何合作、意见或疑问,请随时联系我们。您的反馈对我们来说非常重要。 |