专栏首页進无尽的文章扒虫篇- Bug日志 Ⅹ

扒虫篇- Bug日志 Ⅹ

1、NSDecimalNumber转基础数据类型时选择 double 比 float 更精确

2、一个奇怪的 Duplicate interface definition for class 错误

完成以下措施后依然无效: 1、Xcode完全退出后重新打开 2、清理缓存 Xcode 缓存目录: /Users/你的用户名/Library/Developer/Xcode/DerivedData**

3、电脑关机重启 4、测试手机关机重启 5、删除文件后再次导入 都无法解决这个报错,关键是我无法找到 重复的文件,我怀疑是 Xcode的问题,最后无奈使用另一个 Target 中的同名文件,新 Target中不再导入了。

3、使用第三方SDK的一次报错:not found for architecture arm64

解决方案: 1、CAudioEngine 报错是因为 Compile Sources 中导入了一个工程中没有对应静态库支持支持的 .m文件,删除即可。 2、下面的报错是因为Build setting 中的 Enable Testability 在Debug时默认是开启的,设为No 即可。

4、Xcode 10升级报错

报错原因是libstdc++、libstdc++.6、libstdc++6.0.9这三个内库在Xcode 10 已经禁用这三个库!!!,所以只需要下载下来放进去就OK了。

1.下载 libstdc++.6.0.9.tbd 下载地址:https://pan.baidu.com/s/1eTXIp032IKhfpdKqhn3u0g 2.下载下来注意文件名可能不是这个更改文件名为libstdc++.6.0.9.tbd 如果已经是这个名字的就不需要再改了! 3.将下载文件放到指定位置即可! (1)真机运行库位置 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib (2)模拟器运行库位置 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib

+++++++++++++++ 第二种方式 +++++++++++++++++++ 解决Xcode10 library not found for -lstdc++ 找不到问题 参考地址

cd /Users/iOS002/Downloads/libstdc--master
sudo sh install.sh

执行完上述命令后,模拟器和真机都不会报错了。亲测有效!

5、Xcode 10d打包审核不通过报错

Dear Developer,

We identified one or more issues with a recent delivery for your app, "XXXXXX". 
Please correct the following issues, then upload again.

Invalid architectures - This app has invalid architecture, 
and may have been built with invalid build settings or incompatible tools. 
Try rebuilding the app with the latest Xcode version. 
If you are using third party development tools, contact the provider.

Best regards,
The App Store Team

解决方法: 就是把targets 设置为8.0即可。 Xcode 10 doesn't support deployment targets lower than 8.0. You will either need to update the deployment target, or alternatively, if you need a lower target you can reinstall Xcode 9.4.1.*

6、Xcode 10d打包后提交报错

美工似乎无法解决这个问题,最后只能自己一个个导出并且取消 Alpha 设置。重新把新导出的图片设置到工程中即可。

7. 利用监听键盘升降的通知来实现输入支付密码的自定义试图时,总是获取不到升起来的通知

总是无法出发键盘升起来的通知,是因为模拟器的情况下,有一种情况是默认键盘不弹出来的,这个Bug很隐秘,需要使用 comand+K 来切换成键盘弹出模式,才能触发键盘升起的通知!

- (void)willShowKeyboardFromFrame:(CGRect)beginFrame toFrame:(CGRect)toFrame
{
    if (toFrame.origin.y  == [[UIScreen mainScreen] bounds].size.height){//键盘收起
        [self removeFromSuperview];
    }else{ //键盘升起
        [self setFrame:CGRectMake(0, HEIGHT-toFrame.size.height-Scale_Y(100), WIDTH, Scale_Y(100))];
        
    }
}

8.升级Xcode 10 Error: Multiple commands produce

如下图删除对应的 inf.plist文件即可。

9.UITableView的顶部总是空出一部分

self = [super initWithFrame:frame style:UITableViewStyleGrouped]; //就是这个原因 self = [super initWithFrame:frame style:UITableViewStylePlain]; //这样初始化的就不会有空出来的部分

10.在UIAlertView的代理方法中重置keyWindow的根视图时又返回到原视图中

在一个老代码中使用了UIAlertView并且在UIAlertView的代理方法中重置keyWindow的根视图时又返回到原视图中

 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"确定要注销吗" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
 alertView.tag = 100;
 [alertView show];

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (alertView.tag == 100) {
        if (buttonIndex == 1) {
            [[MethodTool shareTool]setUserDefaults:@"YES" :@"EXIT" ];
           
        }
    }
}

使用 UIAlertController 后就不会出现这样的问题了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 扒虫篇- Bug日志 Ⅷ

    不执行的原因是 在VC中使用这个ImageUploaderManager时,需要设置为全局变量,如果是局部变量的话,很快会被销毁掉,其中的代理自然不会执行了。

    進无尽
  • 扒虫篇-Bug日志 Ⅶ

    解决办法:iphone 上已经装了标示符一样的APP ,删掉老版本 重新安装即可。

    進无尽
  • 扒虫篇-Bug日志 Ⅵ

    试了试其他的账号也是一样,在账号密码没有输入错误的情况下还是登陆不上。 解决办法:重启电脑就解决了。

    進无尽
  • 扒虫篇-Bug日志Ⅴ

    解决方法:首先这个警告不会造成上传失败,也不会造成审核被拒。其次可以通过移除代码中警告的那些代码,并移除多余不使用的系统类库(framework),使警告消失。

    進无尽
  • 扒虫篇-Bug日志Ⅳ

    解决办法:other linker flag -ObjC 造成的,有些时候设置other linker flag 为-ObjC会出现多次导入的报错。

    進无尽
  • 扒虫篇-Bug日志 Ⅲ

    解决方法:可能是由于粘贴网页上的代码的时候两行之间的回车引起的,有未识别的回车或者换行,找到,删除掉就 OK了。

    進无尽
  • 扒虫篇-Bug日志 Ⅱ

    事情是这样的:一个风和日丽的下午,我正在 itunesConnect 中注册一个APP,基本信息都保存了,在编辑版本信息时,都弄的差不多了,可是没有保存,结果不...

    進无尽
  • 扒虫篇-Bug日志 Ⅰ

    之前在集成调试 AsReader的时候,遇到的bug,是一家日本企业生产的产品,官方文档比较简单而且还不写清楚,表面上看是报的不兼容 64位模拟器的错误,我用...

    進无尽
  • 扒虫篇- Bug日志 Ⅸ

    当程序出现这个提示的时候,是因为你一边便利数组,又同时修改这个数组里面的内容,导致崩溃,最后发现确实是这样的原因,不过问题是,很多时候这样的写法并不会造成崩溃,...

    進无尽

扫码关注云+社区

领取腾讯云代金券