gpt4 book ai didi

iphone - Apple 审查中的 iPad 应用程序崩溃 - 无法在模拟器中复制,有崩溃日志

转载 作者:行者123 更新时间:2023-12-03 16:19:22 25 4
gpt4 key购买 nike

我显然在这里遗漏了一些明显的东西,并且非常感谢一些输入。我曾多次尝试向 Apple(在本例中为 iPad)提交一个应用程序,该应用程序在测试时最终崩溃,但我无法复制我的情况(显然,此时我只有该死的模拟器可以使用)。

崩溃日志如下:

Date/Time:       2010-04-01 05:39:47.226 -0700
OS Version: iPhone OS 3.2 (7B367)
Report Version: 104

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0

Thread 0 Crashed:
0 libSystem.B.dylib 0x000790a0 __kill + 8
1 libSystem.B.dylib 0x00079090 kill + 4
2 libSystem.B.dylib 0x00079082 raise + 10
3 libSystem.B.dylib 0x0008d20a abort + 50
4 libstdc++.6.dylib 0x00044a1c __gnu_cxx::__verbose_terminate_handler() + 376
5 libobjc.A.dylib 0x000057c4 _objc_terminate + 104
6 libstdc++.6.dylib 0x00042dee __cxxabiv1::__terminate(void (*)()) + 46
7 libstdc++.6.dylib 0x00042e42 std::terminate() + 10
8 libstdc++.6.dylib 0x00042f12 __cxa_throw + 78
9 libobjc.A.dylib 0x000046a4 objc_exception_throw + 64
10 CoreFoundation 0x00090c6e +[NSException raise:format:arguments:] + 74
11 CoreFoundation 0x00090d38 +[NSException raise:format:] + 28
12 Foundation 0x00002600 -[NSCFDictionary setObject:forKey:] + 184
13 iPadMosaic 0x00003282 -[iPadMosaicViewController getAlbumThumbs] (iPadMosaicViewController.m:468)
14 Foundation 0x000728fe __NSFireDelayedPerform + 314
15 CoreFoundation 0x00022d1c CFRunLoopRunSpecific + 2092
16 CoreFoundation 0x000224da CFRunLoopRunInMode + 42
17 GraphicsServices 0x000030d4 GSEventRunModal + 108
18 GraphicsServices 0x00003180 GSEventRun + 56
19 UIKit 0x000034c2 -[UIApplication _run] + 374
20 UIKit 0x000019ec UIApplicationMain + 636
21 iPadMosaic 0x00002234 main (main.m:14)
22 iPadMosaic 0x00002204 start + 32

我的理解是,我以某种方式搞砸了字典添加。相关的代码行是:
for (NSDictionary *album in self.albumList) {
// Get image for each album cover

UIImage *albumCover;

// Loop through photos to get URL of cover based on photo ID match
NSString *coverURL = @"";
for (NSDictionary *photo in self.photoList) {
if ([[photo objectForKey:@"pid"] isEqualToString:[album objectForKey:@"cover_pid"]]) {
coverURL = [photo objectForKey:@"src"];
}
}


NSURL *albumCoverURL = [NSURL URLWithString:coverURL];
NSData *albumCoverData = [NSData dataWithContentsOfURL:albumCoverURL];
albumCover = [UIImage imageWithData:albumCoverData];

if (albumCover == nil || albumCover == NULL) {
//NSLog(@"No album cover for some reason");
albumCover = [UIImage imageNamed:@"noImage.png"];
}

[[self.albumList objectAtIndex:albumCurrent] setObject:albumCover forKey:@"coverThumb"];
}

这是遍历存储在数组中的现有字典的循环的一部分。如果由于某种原因检索专辑封面失败,则该对象将填充默认图像,然后添加。代码的最后一行是崩溃日志中显示的内容。

它在模拟器中运行良好,但显然在设备测试中崩溃 100%。谁能告诉我我在这里缺少什么?

最佳答案

如果 Foundation 没有从 3.0 彻底更改为 3.2,那么只有 3 种情况会在 -setObject:forKey: 中引发异常:

  • 发送到不可变对象(immutable对象)的变异方法
  • 尝试插入零值
  • 尝试插入零键

  • 显然第三种情况是不可能的,所以你只需要检查:
  • [self.albumList objectAtIndex:albumCurrent]保证是 NSMutableDictionary?
  • 您是否忘记包含 noImage.png在提交?
  • 关于iphone - Apple 审查中的 iPad 应用程序崩溃 - 无法在模拟器中复制,有崩溃日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2561508/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com