1.Xcode9打包问题
错误一:
这个原因是因为我的项目中使用的阿里云的第三方的sdk是模拟器版的,不适合上架使用,只适用于平时的开发,将sdk换成 上架版本的就可以了.
错误二:
这是因为我的devices 选择的是Universal ,而不是iPhone,如果你的app需要适配iPad ,那就需要这两张appIcon了,
有的时候你的当前图标尺寸已经有了,但是打包的依然提示你缺少当前图标,你可以让UI在给你重新切图,不能有透明度和圆角.
2.项目运行提示
xcode could not write to device
清理缓存,重启xcode,暂时是有效的.其他情况还未遇到,如遇到,会及时补充.
3.项目中使用了网易云的直播sdk,
一直提示我
[__NSCFConstantString MD5]: unrecognized selector sent to instance 0x10177a9
项目中并未使用到MD5,多番查找,发现,Bulid settings 里面的other Linker Flags 忘了设置 -ObjC 或者 -all_load 或者 -force_load,导致编译一直崩溃
,但是又无法直接添加 -ObjC 或者 -all_load,因为之前的旧项目引入了很多库,如果直接添加这两个,会造成,重复,
于是,就只针对当前阿里云崩溃的静态库添加了 -force_load,搞定,不崩溃了,具体的原理,我还要细细研究,这底层不理解,真的是容易埋炸弹.
4.iOS 入伍 的坑
在iOS 11 之前的版本,如果项目中重复使用了同一个文件名字,会报错
linker command failed with exit code
这个问题的原因很多,不过我遇到的最多的是文件重名,但是又不告诉你在哪里,真是头大.
崩溃的是,iOS11 系统上编译,没有任何问题,只有在打包或者在iOS 11 之前的系统上编译才会提示你有问题了.自己挖的坑,自己跳...
5.删除数据源刷新界面无效的问题
需要考虑到线程问题,获取数据源的时候,或者其他原因导致的多线程,删除数据,刷新界面需要回到主线程中操作.
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableDataSource removeObjectAtIndex:indexPath.row];//删除数据源
[self.mainTable deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section]] withRowAnimation:UITableViewRowAnimationLeft];//删除行
});
6.针对问题3最终做了调整,旧项目导入第三方,或者是其他框架,可能会导致路径不能自动添加
修改 Build Setting -->Other link -flags 里面可能会有-all_load -force_load ,导致你手动添加的时候资源库之类的还是不能编译到,直接干掉之前的-all_load -force_load 这些,加入 $(inherited) -ObjC即可,会自动加载第三方的所有文件及库
7.友盟5.2.1升级
友盟sdk牵扯的东西很多,升级到最新版必须将之前的sdk删除干净.
如果分享面板的图标不显示,但是文字是正常的,说明 UI里面的"UMSocialSDKResources"文件没有被编译到,需要我们手动将UMSocialSDKResources文件导入到项目中
8.苹果开发者账号 提示 更新内购协议,点击蓝色的 (Aggreements, Tax,and Banking )字,进入到银行,税务协议界面,点击第一栏的"request "按钮,进入到一个新的协议界面,同意即可.
因为工作比较忙,暂时先写这么多,后续补上.
9.上传APP 打包,一直提示upload success ,但是却不见构建版本,也没有收到苹果发送的问题邮件,最后在 Itunes Connect 活动的所有构建版本中发现之前提交的版本都是红色的叹号,点开查看,提示 "导入此构建版本时出错。"
网上查了一些资料,说是因为第三方SDK 里面有"info.plist文件造成的",将阿里云sdk里面的一个info.plist文件删除后再次打包上传,果然,构建版本上去了.
10.支付宝导入提示 _rsa_sign_with_private_key_pem in openssl_wapper.o
11.支付宝提示 Privatekey isNull
将签名文件中的代码 @"-----BEGIN PRIVATE KEY-----\n" 改为 @"-----BEGIN RSA PRIVATE KEY-----\n"
@"\n-----END PRIVATE KEY-----"改为 @"\n-----END RSA PRIVATE KEY-----"
12.xcode 9下的模拟器截屏上传App Store出错,提示尺寸不对
12.1.选中模拟器
12.2.去掉Show Device Bezels的勾选
12.3.选择Zoom 模拟器会变成 这种样式
12.4.command + s 截图就可以了
13.友盟分享面板显示为英文
手机--设置--通用--语言与地区--把英文删了就好
14.项目中如果使用到气泡作为背景,内容多的话容易造成气泡被拉伸,不用着急,xcode帮你解决
15.环信推送,推送方因为是admin,但是环信后台没有"admin"这个账号,导致推送的昵称一直是空的,如图
解决办法:将"admin"这个作为账号,添加到环信后台,设置你想要的昵称,再次推送,就没问题了
16.xcode打包Ad Hoc,一直闪退,可以查看下开发者账号是否有协议需要处理.