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

扒虫篇- 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 条评论
登录 后参与评论

相关文章

  • 扒虫篇-苹果审核被拒原因小汇

    很多时候,我们的美美滴开发完了,并测试完成之后准备打包上传到APPStore,却发现被拒绝了,各种各样的理由让我们触不及防,一直想整理汇总一下却一直因为各种事耽...

    進无尽
  • 聊聊程序设计思想之面向接口编程IOP

    我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,但是有时候最为理想的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点...

    進无尽
  • 设计模式| 创建型模式

    GOF23种设计模式中创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

    進无尽
  • 用“可能-必须”规模扩展基于标签的论证语义(cs AI)

    语义作为这组参数在给定论证图形特征可能是可接受的(可接受性语义)可以用几种不同的方式来表征。其中,基于标签的方法允许通过分配指示每个参数接受,拒绝或不确定的标签...

    DANDAN用户6837186
  • 结合人类和机器智能,利用社会媒体图像进行快速损伤评估(CS SI)

    快速损失评估是应对组织在灾害发生时执行的核心任务之一,目的是了解道路、桥梁和建筑物等基础设施的损失程度。 这项工作分析了社会媒体图像内容的有用性,以执行快速损害...

    用户7095611
  • POJ 2209 The King(简单贪心)

    The King Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7499...

    Angel_Kitty
  • uva-----11292 The Dragon of Loowater

    Problem C: The Dragon of Loowater Once upon a time, in the Kingdom of Loowater, ...

    Gxjun
  • UVA 11292 Dragon of Loowater(简单贪心)

    Problem C: The Dragon of Loowater Once upon a time, in the Kingdom of Loowater, ...

    Angel_Kitty
  • 原创译文 | 美国禁令后中兴不能再购买高通芯片,美国方面解释原因

    转载声明 本文为灯塔大数据原创内容,欢迎个人转载至朋友圈,其他机构转载请在文章开头标注:“转自:灯塔大数据;微信:DTbigdata” 导读:中美贸易战愈演愈烈...

    灯塔大数据
  • 为什么需要多线程

    对于这个问题可能很多朋友会说是为了高性能,个人觉得这是误解,多线程不等于高性能,从cpu(单核)的角度上看单线程才能带来最高性能。

    lulianqi

扫码关注云+社区

领取腾讯云代金券