繁体   English   中英

苹果因死机而拒绝了。 无法复制,带有sha256

[英]Apple rejected due to crash. Can not reproduce, with sha256

我已经在可以使用的所有iOS设备上以及在连接到XCode的仿真器上都进行了测试,没有任何问题。 现在我从苹果公司那里得知,该应用程序由于运行iOS 6.0.1的iPad第三代崩溃而被拒绝。

从崩溃日志中,我可以读取:

0   libsystem_c.dylib               0x39421d74 strlen + 28
1   Appname                         0x0000da16 +[Utilities sha256:] (Utilities.m:28)
2   Appname                         0x0000dc1c +[Utilities complete256Hash:]             (Utilities.m:46)
3   Appname                         0x0000ea66 -[SettingController TestSettingsTapped] (SettingController.m:83)

问题似乎源于以下功能,有人可以指出我可能出了什么问题,导致我无法重现Apple遇到的崩溃,因此可能与为丹麦设置的所有经过测试的设备有关。

+(NSString*) sha256:(NSString *)clear{
    const char *s=[clear cStringUsingEncoding:NSUTF8StringEncoding];
    NSData *keyData=[NSData dataWithBytes:s length:strlen(s)];
    uint8_t digest[CC_SHA256_DIGEST_LENGTH]={0};
    CC_SHA256(keyData.bytes, keyData.length, digest);
    NSData *out=[NSData dataWithBytes:digest length:CC_SHA256_DIGEST_LENGTH];
    NSString *hash=[out description];
    hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];
    hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];
    hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];
    return hash; 
}

谢谢。

您在strlen()第三行进行的strlen()调用传递了一个错误的指针。 我能想到的最可能的原因是因为s为nil,因为clear也为nil。

也许您正在寻找的零点信息来自一个内存警告(苹果评论者会主动产生以观察您的应用程序的行为)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM