一.首先生成ipa包备用
方法一:
1Xcode中打开此位置
2.点击Edit Scheme…… 如图所示将Debug改为Release
3.同时按下Command + B键 进行预编译编译完成之后在Products
文件下就有了生成的XXX.app文件
4.点击xxx.app文件 右键Show in Finder
5.拷贝此文件放到桌面 在桌面生成一个文件夹 名字必须是: 【Payload】 将刚刚拷贝的文件放入 Payload 文件夹中然后将文件夹压缩成zip包 最后修改后缀名为ipa即可
方法二:配置好发布证书及项目发布所需配置文件(同发布步骤)
1Xcode中打开此位置
2.点击Edit Scheme…… 如图所示将Debug改为Release
3.Product——Archve
4.Window ——Organizers
5.选择Export
6.选择第二项 然后选择next
7.此处选择你的开发者账号 然后点击Choose
8.选择第一项然后点击next ——再点击next
9.选择路径然后点击Export 就大功告成了(生成一个文件夹)
二.在蒲公英平台上注册一个用户(蒲公英平台连接 https://www.pgyer.com/ )
1.登陆成功之后会看到此界面
2.点击发布应用
3点击立刻上传 选择刚才生成的ipa包 等待上传成功发布应用即可
原因一:在导出 iOS App 的安装包文件( .ipa 文件)时,选择了 App-Store 方式。
在导出 iOS 的 .ipa 文件时,有些开发者选择了 App-Store 方式,这种方式导出的 .ipa 文件,只适合于上传到苹果 App Store,并不能通过蒲公英来安装。如果是这种方式导出的 .ipa 文件,传到蒲公英上时,蒲公英会显示“App-Store版”,这种版本是不能通过蒲公英安装的。
原因二:在导出 iOS App 的安装包文件( .ipa 文件)时,选择了 Ad-hoc 方式,但是没有添加设备 UDID。
在导出 iOS 的安装包文件时,如果选择了 Ad-hoc 方式(一般用于苹果个人开发者账户),那么,如果要某台设备可以安装,则必须要将这台设备的 UDID 添加到导出安装包时所用的证书文件中( . mobileprovision 文件),才可以在这台设备上安装。
使用 Ad-hoc 方式导出的安装包文件上传到蒲公英后,蒲公英会显示为“内测版”,同时会在应用管理中,显示出该安装包的证书中包含的 UDID 列表。开发者可以根据显示出的 UDID 列表,来排查某台设备的 UDID 有没有被添加到安装包的证书中。
原因三:在导出 iOS App 的安装包文件( .ipa 文件)时,选择了 In-house 方式,但是证书已过期。
在导出 iOS 的安装包文件时,如果选择了 In-house 方式(一般用于苹果企业开发者账户),此时,如果出现无法安装的情况,开发者可以检查一下自己的企业开发者证书是否已过期。因为苹果对于企业开发者证书管理较为严格,所以开发者如果使用不当,可能会导致企业证书被封,被封后的企业证书导出的安装包,也是无法正确安装的。
原因四:开发者在生成App安装包时,没有在 Xcode 中设置正确的 Architecture。
iOS 应用的 Architecture(架构),决定了这款 iOS 应用可以在哪些设备机型上安装。例如,如果某个应用在 Xcode 中只添加了 arm64 这一种 Architecture,那么最终打包后的安装包文件上传到蒲公英后,对于 iPad mini、iPhone5 等以下设备,都是无法安装的(因为这些设备都不是 arm64 架构)。换句话说,如果需要在某个设备上可以安装,App 就必须支持那个设备的 Architecture。
所以,正确的解决方法是,在生成 App 安装包时,尽可能让 App 支持更多的 Architecture。
具体 *** 作方法是:在 Xcode - Build Settings - Architecture 中,增加 armv7 、 armv7s 、 arm64 ,以便所有设备都可以安装。然后,将 "Build active architecture only" 设置为 NO 。对于各个 iOS 设备支持的 Architecture 类型。 请点击这里查看 。
原因五:App 支持的 iOS 系统版本,和当前设备系统版本不符。
App 支持的 iOS 系统版本过低或者过高,都可能导致 App 无法安装成功。例如,如果某个 App 设置了只支持 iOS 7.0 以上的系统时,那么,如果在 iOS 6.1 系统上安装时,肯定是无法安装成功。
因此,解决的方法也很简单,我们应该尽量让 App 尽可能支持更宽泛的系统版本。
具体 *** 作方式是:在 Xcode - General - Deployment Info - Deployment Target 中,给 App 设置一个尽量低的版本,例如 iOS 5.0。
原因六:设备上已经安装了这个App,且已经安装的 App 和要安装的 App 是用不同证书打包的。
这种情况下,也会造成 App 安装失败。解决的方式很简单,开发者只需将设备上原来已经安装的 App 删除,再重新安装新的 App 即可。
原因七: Info.plist 文件中的 LSRequiresIPhoneOS 没有设置,或者设置了 NO 。
对于 iOS 的 App 来说,如果 Info.plist 文件中的 LSRequiresIPhoneOS 没有设置,或者设置了 NO ,那么由 Xcode 导出的安装包( .ipa 包),就不会包含 Payload 文件夹,而是被一个叫做 Applications 的文件夹代替。这样的安装包在安装时,会被 iOS 判定为无效的安装包,所以无法被正确安装。
解决方式也很简单,只需要将 Info.plist 文件中的 LSRequiresIPhoneOS 设置为 YES ,然后重新打包即可。具体 *** 作为:在 Xcode 中打开 Info.plist 文件,然后检查 LSRequiresIPhoneOS 是否已设置,如果没有设置,就添加一个,然后将 LSRequiresIPhoneOS 的类型设置为 Boolean ,值设置为 YES 。
设置好以后,可以看到 Info.plist 文件中显示 Application requires iPhone environment 的值为 YES 。
另外,还可以使用蒲公英的 Mac OS 客户端 来打包上传 App,蒲公英的 Mac OS 客户端在打包安装包时,自动处理了这个问题。
原因八:网络出现中断或异常。
遇到这种情况,用户可检查自己手机的所连接的网络是否稳定、速度是否正常等。可以尝试一下其他网站,或者更换一个 Wi-Fi,或者由 Wi-Fi 换成 3G/4G 等,然后重新安装。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)