扒虫篇- Bug日志 Ⅷ

1. 以可变容器数量为最大值进行双层for循环中可变容器添删元素时造成的数据遗漏

for (int i = 0; i<self.AreaArray.count; i++) {
     Nodes *nodesP = self.AreaArray[i];
     if (!nodesP.haveChild) {
         BOOL jian = NO;
         for (int j = 0; j<AArray.count; j++) {
             if (jian) {
                 j--;
             }
             jian = NO;
             Nodes *nodes = AArray[j];
             if ([nodes.parentId isEqualToString: nodesP.nodeId]) {
                 nodes.depth = nodesP.depth+1;
                 nodesP.haveChild = YES;
                 [AArray removeObject:nodes];
                 [self.AreaArray addObject:nodes];
                 jian = YES;
             }
         }
     }
 }
 if (AArray.count>0) {
      [self.AreaArray addObject:AArray[0]];
 }
 dispatch_async(dispatch_get_main_queue(), ^{
     dataArray(self.AreaArray);
 });

上面的场景是筛选节点时出现的算法,里面有几个问题需要注意:

  • 1. 以self.AreaArray.count、AArray.count作为循环最大值,但是在循环的时候,又修改了self.AreaArray、AArray中的数据(数量多了、少了)。
  • 2. jian 是记录了上个循环中AArray删除了数据的操作,以保证这次循环中使 j -1,这样才能保证不漏掉AArray里面未被遍历的元素。
  • 3. 但是,当AArray里面只剩最后一个元素的时候,因为在执行for循环的时候,i都要++,所以不管怎样,此时最小的 i 也是 1,1 不小于1,所以for循环的最后一次不会被执行,造成的结果就是AArray里面有一个元素未被遍历,被遗漏了。
  • 4. 所以需要再最后的时候,强制把AArray里面的最后一个元素加到self.AreaArray中。

2. 封装的图片选择上传工具类中UIImagePickerControllerDelegate不执行

@interface ImageUploaderManager : NSObject

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

3. Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Attempting to transfer an animation to an animation state that is not a direct child of the animation's animation state.'

清理退出工程后又好了。

4. Launch Screen.storyboard 报错: Safe Area Layout Guide before iOS 9.0

下面这样操作就好了。

5. cocopods工程中Archive时 ld: library not found for -lAFNetworking

解决办法:重新 pod install ,然后 clean后就不会报错了。

6. 好好的突然网络请求就不会返回数据了

今天遇到一个很蛋疼的问题,好好的,参数代码都没动,都跟之前的是一样的,但是就是突然AFNetworking的请求没有数据返回了,Clean后重新多次运行工程依然是这样?????

解决办法:卸载模拟器上的工程,重新运行后,新工程的网络请求就正常了。

7.工程中的 txt 文件就死活解析不出来

NSString *path = [[NSBundle mainBundle] pathForResource:@"lnglatInformation" ofType:@"txt"];
NSData *data = [NSData dataWithContentsOfFile:path];
NSDictionary *idc  = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

解决办法:不光要把文件拖到工程中,还要在 Copy Bundle Resources 中添加进去。添加进去后就可以解析出来了。

8.审核被拒

Guideline 4.3 - Design

This app duplicates the content and functionality of other apps submitted by you or another developer to the App Store, which is considered a form of spam.

Apps that simply duplicate content or functionality create clutter, diminish the overall experience for the end user, and reduce the ability of developers to market their apps.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

我碰到了这个问题,根本原因还是应用功能或界面雷同。

1)如果是机器审核被拒,一般收到的被拒信息第一句话基本上是这样的:

  Guideline4.3 - Design - Spam

  Yourapp duplicates the content and functionality of apps submitted to the AppStore, 
  which is considered a form of spam.

  2)如果是人工审核被拒,一般收到的被拒信息第一句话基本上是这样的:

   Guideline4.3 - Design - Spam

   We found that your app provides the same feature set as other apps submitted tothe App Store,     
   which is not appropriate to the App Store.

  针对机器审核被拒和人工审核被拒分别有对应的解决方法:

首先我很确认的是,我这个被拒是没有过机审, 我的解决办法:

 1、修改产品销售地区并且和苹果发邮件说明(见第四条之后)
 2、修改产品分类,改改产品内容 打造与原产品不同的产品侧重属性分类;(针对线上马甲包不多的情况下)
 3、修改logo,修改主色调;
 4、修改工程的名称,修改各个模块文件夹的名称(通过加前缀),修改大部分的类文件名称(通过加前缀),
    修改 scheme、Targets、 info.plist文件、 pch文件、宏定义文件的名称。
    其中1、2项没什么用,3、4项才是正解。

苹果被拒 4.3,和它的10种解决办法!

9.The file “wisdomCanteen” couldn’t be opened because you don’t have permission to view it.

点击红框中后会出现提示,并确认即可。

10.Could not locate device support files. This iPhone 6 is running iOS 11.2.6 (15D100), which may not be supported by this version of Xcode.

解决办法:此时需要升级 Xcode 到更新版本才行。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏令仔很忙

EasyUI----EasyUI-Tree联想加模糊查询

最近做的项目中用到了EasyUI的Tree,树的结构是这样的,有22个车站,每一个车站相当于一个逻辑域(虚拟域),每一个域下有许多的设备类型,拿我现在做的门禁系...

3634
来自专栏北京马哥教育

LaTeXila:Linux 的多语言 LaTeX 编辑器简介

豌豆贴心提醒,本文阅读时间7分钟 LaTeXila 是一个多语言 LaTeX 编辑器,专为那些偏爱 GTK+ 外观的 Linux 用户设计。这个软件除了操作简...

3539
来自专栏信安之路

我是如何找到 Google Colaboratory 中的一个 xss 漏洞的

在本文中,我来讲讲我碰到的一个有趣的 XSS。2018 年 2 月,我在 google 的一个网络应用中发现了这个 XSS。这篇文章我不希望只是直接写出这个 X...

1150
来自专栏张善友的专栏

在你的网站集成Wiki系统 WikiPlex

Wikiplex 是一种在 .NET Framework 上所开发,具有处理 Wiki 编辑宏功能的小型函式库组件,它提供了数种编辑样式的格式,以让使用者可以类...

2208
来自专栏Jerry的SAP技术分享

CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑

把Work center的navigation target在client side不可见:在Chrome development tool里看不到,而是点击了...

3594
来自专栏phodal

让你的「微信小程序」运行在Chrome浏览器上,让我们使用WebStorm

「微信小程序」的开发框架体验起来,还不错——自带了UI框架。但是问题是他的IDE,表现起来相当的糟糕——其实主要是因为,我当时买WebStorm License...

6826
来自专栏coding

听说,撸代码,ide与vim更配哦vim折腾记vim常用命令

在选择编辑器上面,我是一个纠结的人,曾经年少的我执着地追求一款万能的编辑器,可以支持所有编辑语言,灵活可定制,可纯粹用键盘操作。符合这种条件的编辑器,非vim莫...

1012
来自专栏双十二技术哥

Android性能优化(十)之App瘦身攻略

如果你对App优化比较敏感,那么Apk安装包的大小就一定不会忽视。关于瘦身的原因,大概有以下几个方面:

1513
来自专栏ionic3+

【技巧】ionic3自动聚焦暴力实现

很早前和群里的人探讨过自动聚焦,在android上可以,但是在ios上失败,后来在网上看到这个:

842
来自专栏李想的专栏

使用腾讯云无服务器云函数(SCF)分析天气数据

无服务器云函数(SCF)是腾讯云提供的Serverless执行环境,也是国内首款FaaS(Function as a Service,函数即服务) 产品。其核心...

1K7

扫码关注云+社区

领取腾讯云代金券