我的新版iOS应用程序仅在从应用商店加载时才会加载

时间:2013-07-15 21:14:20

标签: iphone ios ipad app-store

我的应用仅在将其加载到应用商店后崩溃。

有些背景,我已经在多个物理设备上测试了试用版的应用程序。该应用程序不会在所有设备上崩溃,首先在设备上安装工作正常(从未有过应用程序的设备)。在我测试过的大多数设备上导致崩溃之前安装在具有该应用程序的设备上。即使我首先从设备中删除了应用程序,然后从应用程序商店安装了该应用程序,也会发生这种情况。

还有一件事是,在设备上发生了崩溃,从应用程序商店安装时,它首先安装了旧版本,然后允许我更新到新版本。在设备上它没有崩溃它直接加载新版本(没有先安装旧版本)。

任何想法如何解决这个问题都将受到高度赞赏,并且还有关于如何在我的开发/测试环境中复制问题的想法。

以下是其中一个设备的崩溃日志:

Incident Identifier: 2F05957D-D4B0-49A0-9DEC-9F93AC008ED7
CrashReporter Key:   0dcfb6f747b264afdb9bc565deb821964c811b36
Hardware Model:      iPhone5,1
Process:         SlimNavigator [10283]
Path:            /var/mobile/Applications/C4110616-BE4C-4433-9FB9-C43F042D4CCA/SlimNavigator.app/SlimNavigator
Identifier:      SlimNavigator
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-07-14 20:17:22.268 -0700
OS Version:      iOS 6.1.4 (10B350)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000001
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   SlimNavigator   0x0010ad46 +[NSHTTPCookieStorage(DeleteForURL) deleteCookiesForURL:] (NSHTTPCookieStorage+DeleteForURL.m:20)
1   dyld            0x2ff076c0 ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 16
2   dyld            0x2ff04a36 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&) + 382
3   dyld            0x2ff04870 ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 36
4   dyld            0x2fefbd0e dyld::initializeMainExecutable() + 174
5   dyld            0x2fefe85e dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 1802
6   dyld            0x2fefb32c dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 604
7   dyld            0x2fefb064 _dyld_start + 60

Thread 0 crashed with ARM Thread State (32-bit):
r0: 0x00000001    r1: 0x2fd8fd3c      r2: 0x00000000      r3: 0x2fd8fd68
r4: 0x000000a5    r5: 0x00000000      r6: 0x0010ad55      r7: 0x2fd8eb18
r8: 0x2ff1d674    r9: 0x0000a100     r10: 0x00000000     r11: 0x00000001
ip: 0x0000a100    sp: 0x2fd8eae0      lr: 0x2ff075b5      pc: 0x0010ad46
cpsr: 0x40000030

Binary Images:
0x71000 -   0x20bfff +SlimNavigator armv7  <65ab2d7c06c932f6b3925448d72d95bf> /var/mobile/Applications/C4110616-BE4C-4433-9FB9-C43F042D4CCA/SlimNavigator.app/SlimNavigator
0x2fefa000 - 0x2ff1afff  dyld armv7s  <67efe80b9d863d6bb30fe51e6e17b070> /usr/lib/dyld
0x304d9000 - 0x305bffff  AVFoundation armv7s  <56f22385ccb73e31863f1fa9e0b621dd> /System/Library/Frameworks/AVFoundation.framework/AVFoundation

1 个答案:

答案 0 :(得分:4)

谢谢大家的回答。问题解决了,我添加了两个更改1. -all_load标志到链接器加载发生崩溃的有问题的库,2。删除对崩溃的库方法的可能调用。我仍然不确定为什么在设备上运行发布版本时问题不能表现出来,只有在应用程序商店中构建时才会出现。

我可以根据答案和我的经验给出最相关的建议,比较您的调试和发布“构建设置”并尝试更改它们以匹配发布设置(“优化级别”是第一个到尝试)。