IOS 打包Ad Hoc

       Ad Hoc, 即测试分发打包,本来也不难,但是我的是Xcode7编写的工程,现在要使用Xcode8打包,并且苹果刚刚更新了IOS 10系统.打包的问题随之而来。。。

      详细打包步骤,本文不提供,我只说我遇到的问题和需要注意的细节。

      1.Bundle identifier。

      确保工程TARGETS-info下的Bundle identifier有预设值,并与苹果开发中心的Bundle identifier一致。当然General中的Bundle identifier也要有值,与开发中心一致。

     2.在 Xcode 中点击project图标,在info这个tab下找到configuration设置,里面默认的是debug和release。点击+,选择Duplicate the “Release configuration”,给生成的新东西起个名字,推荐使用ad hoc distribution

如下:



3.点击targets图标,在build settings这个tab下,找到signing部分(注意Xcode 8下是sign,不是code sign 了!!!!!)。将Code Signing Identity中的ad hoc distribution证书设置为刚刚导入到 Xcode 中对应测试应用的证书。注意不要改动Debug和Release中的证书。


注意:保险起见,TARGETS和PROJECTS的选项都选择一次吧,并且现在Signing选项下有个Development Team选项,你要选择为你开发账号的 Team,不要选择为你真机测试的Team了!


4.选择Xcode工程的Product选项,选择Scheme,然后再选择Edit Scheme.在弹出的菜单中选择Archive,然后在右侧的Build Configuration中选择(ad Hoc distribution,这个就是开始我们添加的那个ad Hoc distribution,开始添加了过后才会有的)。

如下图:



5.好,接下来就可以打包你的程序了


<1>遇到的第一个问题是:用CocoaPods引入AFNetworking报错:library not found for -lAFNetworking,即未找到AFNetworking的库文件,不仅如此,使用CocoPods 导入的所有三方类库,我们的Library都找不到。我的处理办法是,使用CoCoPODS重新更新了所有三方类库。然后clean工程。


再然后:1.检查在Build phases -> link binary with libraries 中是否导入了由cocoapods 生成的libAFNetworking. a,没有的话就导入

如下图:



2.Project->Build Setting ->Build Active Architecture Only 改成 YES

3.最后再次Clean工程,问题就解决了。


2.遇到的第二个问题是:ld: warning: directory not found for option“XXXXXX”,开始是 Libray找不到,现在又是Directory找不到。。。。。


去掉警告的办法如下:


1选择工程, 编译的 (targets)

2选择 Build Settings 菜单

3查找 Library Search Paths 和 Framework Search Paths, 删掉编译报warning的路径即OK.(这两个东西一定有的,在Build Settings下,使用右侧的搜索框,然后删掉)。然后问题解决。

如图:


将Pods上面的路径和Debug-iphones都删除掉,就可以了。



3.遇到的第3个问题。如图:


Bitcode!!说的是bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化程序的二进制文件.问题还是出在百度地图SDK.我们也可以自己解决,我们要做的就是关闭bitcode.

   这个是在TARGETS里面设置。

  如果我们开启了bitcode,在提交包时,下面这个界面也会有个bitcode选项。问题解决!


4.现在在打包的时候,最后有两个选项,对于IOS端的话,要选择最后打包是只有一个ipa文件的那个打包方式




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值