创建新的持久性存储时崩溃(越狱的 iPhone 设备 4.1)
Posted
技术标签:
【中文标题】创建新的持久性存储时崩溃(越狱的 iPhone 设备 4.1)【英文标题】:Crash on creating new persistence store (jailbroken iPhone device 4.1) 【发布时间】:2010-10-27 13:22:57 【问题描述】:每当我使用自签名证书将“CoreDataBooks”Apple ios 示例应用程序部署到我的越狱设备并运行它时 - 它会在将核心数据持久存储添加到持久存储协调器的位置崩溃:
第 178 行:
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error])
// 更新以适当地处理错误。 NSLog(@"未解决的错误 %@, %@", error, [error userInfo]); 中止();
有趣的是,应用程序的“文档”目录从未创建过,sqlite 也从未复制到其中,所以我怀疑它可能与写入权限问题有关。但是,我已经通过递归设置 777 权限来测试应用程序,并且是相同的。
示例在 iPhone 模拟器上运行良好。
环境总结:
Xcode 3.2.4 / iOS SDK 4.1 设备:iPhone4 (iPhone3,1) 固件:4.1 (8B117) 越狱:PwnageTool 4.1.2使用自签名证书进行代码签名,如 http://ihackmyi.com/forum/index.php/topic,24020.0.html 所述
完整的代码是从这个位置下载的:http://developer.apple.com/library/ios/#samplecode/CoreDataBooks/Introduction/Intro.html
出于构建目的,示例配置略有更改:
-
基础 SDK:iOS 设备 4.1
代码签名/任何 iPhone OS 设备:“Xcode 代码签名”
iOS 部署目标:iOS 4.1
我使用 SSH 将其部署到设备上的 /Applications 目录,并将权限设置为 777:
iPhone:~ root# chmod -R 777 /Applications/CoreDataBooks.app
我使用 Respring 重新启动 Springboard,然后我运行 CoreDataBooks 应用程序并崩溃并显示以下崩溃日志(我提供了符号化版本):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AutoSubmitted</key>
<true/>
<key>SysInfoCrashReporterKey</key>
<string>a2191deea05fc5a80608f23ca9d8a375f4e0dc82</string>
<key>bug_type</key>
<string>109</string>
<key>description</key>
<string>Incident Identifier: CC4CFD7A-F2F3-4882-BC5E-54718D60BD90
CrashReporter Key: a2191deea05fc5a80608f23ca9d8a375f4e0dc82
Hardware Model: iPhone3,1
Process: CoreDataBooks [681]
Path: /Applications/CoreDataBooks.app/CoreDataBooks
Identifier: CoreDataBooks
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2010-10-27 14:57:34.024 +0200
OS Version: iPhone OS 4.1 (8B117)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 Crashed:
0 libSystem.B.dylib 0x00078ac8 __kill + 8
1 libSystem.B.dylib 0x00078ab8 kill + 4
2 libSystem.B.dylib 0x00078aaa raise + 10
3 libSystem.B.dylib 0x0008d03a abort + 50
4 CoreDataBooks 0x00006242 -[CoreDataBooksAppDelegate persistentStoreCoordinator] (CoreDataBooksAppDelegate.m:178)
5 CoreDataBooks 0x00005ef0 -[CoreDataBooksAppDelegate managedObjectContext] (CoreDataBooksAppDelegate.m:120)
6 CoreDataBooks 0x00005ce0 -[CoreDataBooksAppDelegate applicationDidFinishLaunching:] (CoreDataBooksAppDelegate.m:65)
7 UIKit 0x0000e4b6 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 826
8 UIKit 0x000049e0 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 200
9 UIKit 0x0005dfd6 -[UIApplication handleEvent:withNewEvent:] + 1390
10 UIKit 0x0005d8fa -[UIApplication sendEvent:] + 38
11 UIKit 0x0005d330 _UIApplicationHandleEvent + 5104
12 GraphicsServices 0x00005044 PurpleEventCallback + 660
13 CoreFoundation 0x00034cdc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20
14 CoreFoundation 0x00034ca0 __CFRunLoopDoSource1 + 160
15 CoreFoundation 0x00027566 __CFRunLoopRun + 514
16 CoreFoundation 0x00027270 CFRunLoopRunSpecific + 224
17 CoreFoundation 0x00027178 CFRunLoopRunInMode + 52
18 UIKit 0x000040fc -[UIApplication _run] + 364
19 UIKit 0x00002128 UIApplicationMain + 664
20 CoreDataBooks 0x00002f90 main (main.m:52)
21 CoreDataBooks 0x00002f44 start + 32
Thread 1:
0 libSystem.B.dylib 0x0002d330 kevent + 24
1 libSystem.B.dylib 0x000d6b6c _dispatch_mgr_invoke + 88
2 libSystem.B.dylib 0x000d65bc _dispatch_queue_invoke + 96
3 libSystem.B.dylib 0x000d675c _dispatch_worker_thread2 + 120
4 libSystem.B.dylib 0x0007a67a _pthread_wqthread + 258
5 libSystem.B.dylib 0x00073190 start_wqthread + 0
Thread 2:
0 libSystem.B.dylib 0x0007b19c __workq_kernreturn + 8
1 libSystem.B.dylib 0x0007a790 _pthread_wqthread + 536
2 libSystem.B.dylib 0x00073190 start_wqthread + 0
Thread 3:
0 libSystem.B.dylib 0x00000c98 mach_msg_trap + 20
1 libSystem.B.dylib 0x00002d64 mach_msg + 44
2 CoreFoundation 0x00027c38 __CFRunLoopServiceMachPort + 88
3 CoreFoundation 0x000274c2 __CFRunLoopRun + 350
4 CoreFoundation 0x00027270 CFRunLoopRunSpecific + 224
5 CoreFoundation 0x00027178 CFRunLoopRunInMode + 52
6 WebCore 0x000024e2 RunWebThread(void*) + 362
7 libSystem.B.dylib 0x0007a27e _pthread_start + 242
8 libSystem.B.dylib 0x0006f2a8 thread_start + 0
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x00000000 r2: 0x00000001 r3: 0x3e0862b4
r4: 0x00000006 r5: 0x00159270 r6: 0x31703801 r7: 0x2fffe584
r8: 0x3e3063c8 r9: 0x355aa336 r10: 0x33028027 r11: 0x33028008
ip: 0x00000025 sp: 0x2fffe584 lr: 0x30277abf pc: 0x30277ac8
cpsr: 0x00000010
Binary Images:
0x1000 - 0x7fff +CoreDataBooks armv7 <f2c845d1e546f60fd0f58b8390c87892> /Applications/CoreDataBooks.app/CoreDataBooks
0x11000 - 0x11fff +MobileSubstrate.dylib armv6 /Library/MobileSubstrate/MobileSubstrate.dylib
0x39000 - 0x3afff +MobileLoader.dylib armv6 /Library/MobileSubstrate/MobileLoader.dylib
0x3e000 - 0x3ffff dns.so armv7 <240b8d3f07b4fcb234de598f8e67de1a> /usr/lib/info/dns.so
0x382000 - 0x3a4fff +Activator.dylib arm <688435a67edc753ddf0a6a83ecd3c1e4> /Library/MobileSubstrate/DynamicLibraries/Activator.dylib
0x2fe00000 - 0x2fe26fff dyld armv7 <a11905c8ef7906bf4b8910fc551f9dbb> /usr/lib/dyld
0x3002b000 - 0x300ebfff libobjc.A.dylib armv7 <49029949741e10f21b178b0a4b2df979> /usr/lib/libobjc.A.dylib
0x301ff000 - 0x3030cfff libSystem.B.dylib armv7 <0792bef82e8cde31cb32d06e80262288> /usr/lib/libSystem.B.dylib
0x307a0000 - 0x307a1fff CoreSurface armv7 <586f25579330ac060decd2df4cc05bd8> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x307ef000 - 0x307f7fff libkxld.dylib armv7 <e86dd3313cbef5a3a0fb8598f6b0ab18> /usr/lib/system/libkxld.dylib
0x307f8000 - 0x308cbfff CoreFoundation armv7 <adb562d8b5eaadbb874e255a09d0e04b> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x30996000 - 0x30a7efff libGLProgrammability.dylib armv7 <ef656cb58e56a36789ee17d4d925e9ba> /System/Library/Frameworks/OpenGLES.framework/libGLProgrammability.dylib
0x30a7f000 - 0x30a87fff libgcc_s.1.dylib armv7 <6fb15d72d3ee5444d901dc9ef974a3b3> /usr/lib/libgcc_s.1.dylib
0x30a88000 - 0x30ac2fff IOKit armv7 <6810c1b44dd12227780dc88c76b692e4> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x30ac9000 - 0x30ad0fff libbz2.1.0.dylib armv7 <0011bd5af0230fcaf63005f7eefa11dd> /usr/lib/libbz2.1.0.dylib
0x30ad5000 - 0x30ad7fff MobileInstallation armv7 <8b23f794f02c2f7572a8fe6532630161> /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation
0x30bb3000 - 0x30bbffff SpringBoardServices armv7 <b715ca60b9e99b3b2b4f8270c478c138> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x30bc8000 - 0x30c59fff ImageIO armv7 <3f421780e67f0219e416287d3e684b54> /System/Library/Frameworks/ImageIO.framework/ImageIO
0x30cfb000 - 0x30d2afff SystemConfiguration armv7 <b79a5a4f0506ce17bedeef7799e81687> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x30f4b000 - 0x30f82fff Security armv7 <4770002d4b443c186dc1e3ddaa1787c8> /System/Library/Frameworks/Security.framework/Security
0x30f8b000 - 0x30fbbfff AppSupport armv7 <20908678e860c23207574337097b94f1> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x313a6000 - 0x313a8fff IOMobileFramebuffer armv7 <ef3a36680985b4db12a778d62f37961f> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x31499000 - 0x314a4fff libz.1.dylib armv7 <19a78978d5908bedc6496470fe542936> /usr/lib/libz.1.dylib
0x31509000 - 0x31537fff libCGFreetype.A.dylib armv7 <41663f59614034ba151e9b4f86e1e141> /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x31565000 - 0x31572fff OpenGLES armv7 <6bdd1b930c09cfec7c6c7629551c0cbd> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x315ec000 - 0x31601fff libresolv.9.dylib armv7 <1ed920d5a995cd94e71c41631d7c551e> /usr/lib/libresolv.9.dylib
0x31619000 - 0x3171dfff CoreData armv7 <36b5f42fcdceea61bedb2838f8279714> /System/Library/Frameworks/CoreData.framework/CoreData
0x318c3000 - 0x3196afff WebKit armv7 <a8bfa45e5c19efcf95e184e658d61a18> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x31adb000 - 0x31ae4fff CoreVideo armv7 <d47b741a05fdbed287a454e834aeede2> /System/Library/Frameworks/CoreVideo.framework/CoreVideo
0x31c20000 - 0x31c20fff vecLib armv7 <e1d93756e63104d2861a277e8a70df44> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x31c88000 - 0x31c8efff liblockdown.dylib armv7 <e89050debe57ae71a3f0ed2bc9c46145> /usr/lib/liblockdown.dylib
0x31e40000 - 0x31e4cfff GraphicsServices armv7 <7075593b53fcd90c8d2aa40ba9ff4397> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x31e4d000 - 0x3308dfff UIKit armv7 <3f1f8f7555dcf93cc4ce2146286bd3f6> /System/Library/Frameworks/UIKit.framework/UIKit
0x330af000 - 0x33601fff WebCore armv7 <4d60fdc638b6218c26d3c143af5e829c> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x337dd000 - 0x337fcfff Bom armv7 <f49558f211241498f37af577051611b3> /System/Library/PrivateFrameworks/Bom.framework/Bom
0x33847000 - 0x33876fff CoreText armv7 <0855144a7f9eeade285f2e7c030f7478> /System/Library/Frameworks/CoreText.framework/CoreText
0x3390e000 - 0x33951fff CoreTelephony armv7 <deafb4c98c723215e43f07c3bf6d77e9> /System/Library/Frameworks/CoreTelephony.framework/CoreTelephony
0x3396a000 - 0x3399dfff AddressBook armv7 <59286907142fc76ead3dab9fa3baff5c> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x3399e000 - 0x339b6fff libRIP.A.dylib armv7 <6d9b86e946a18416f1a50586beabd716> /System/Library/Frameworks/CoreGraphics.framework/Resources/libRIP.A.dylib
0x339c7000 - 0x339cafff libGFXShared.dylib armv7 <0d33b320dcac6cb6a594171f3f8c3b04> /System/Library/Frameworks/OpenGLES.framework/libGFXShared.dylib
0x339ea000 - 0x33a93fff QuartzCore armv7 <1628da07ea69b89c0b6a5a7d2dc42a24> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x33b8b000 - 0x33bd0fff libsqlite3.dylib armv7 <7de3ef8f02a0af58ef9f58348d5dbc50> /usr/lib/libsqlite3.dylib
0x33bfc000 - 0x33d17fff CoreGraphics armv7 <6dcc299d5ca75f73afbc98a1b4bd2c7a> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x33d21000 - 0x33d8ffff ProofReader armv7 <184b846e1f602485068db7a9c943595f> /System/Library/PrivateFrameworks/ProofReader.framework/ProofReader
0x33f5a000 - 0x33f99fff libGLImage.dylib armv7 <f261ea6e5f00e4ba4fda02bb4d7712b4> /System/Library/Frameworks/OpenGLES.framework/libGLImage.dylib
0x33fde000 - 0x34087fff libxml2.2.dylib armv7 <1d74fa3a5cec309857503a51cb2df667> /usr/lib/libxml2.2.dylib
0x34091000 - 0x340dbfff libstdc++.6.dylib armv7 <7b2a8cf02f12c636c6db7f5e1906f9f0> /usr/lib/libstdc++.6.dylib
0x340fc000 - 0x34396fff libLAPACK.dylib armv7 <795a79616d24a733fae53d9df6c46998> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib
0x34464000 - 0x34503fff javascriptCore armv7 <28583b202a5108a6e93c9990a2f1d576> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x34569000 - 0x345befff libvDSP.dylib armv7 <ec6199ca9490baba91f9bc644063bef1> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x3473e000 - 0x34740fff libAccessibility.dylib armv7 <ee5bb3b14b91bcf192f0d18e9f31c40a> /usr/lib/libAccessibility.dylib
0x34781000 - 0x34786fff MobileKeyBag armv7 <dabd32c6bac583a6809c2b04c5907acf> /System/Library/PrivateFrameworks/MobileKeyBag.framework/MobileKeyBag
0x34787000 - 0x348b7fff AudioToolbox armv7 <9420239a007f28f7aa2163b05053d110> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x348ba000 - 0x348fafff CoreAudio armv7 <96e6c0b793449c9e08a507693c956aad> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x34906000 - 0x34951fff libBLAS.dylib armv7 <9e5eadf1538d47142a4257d2fa5bbdd5> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib
0x34979000 - 0x3497cfff IOSurface armv7 <83927fd3641791e5bcdadcca0edd196b> /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x349a7000 - 0x34ac6fff Foundation armv7 <5cffb5458e87beccdb75770cea676753> /System/Library/Frameworks/Foundation.framework/Foundation
0x34ad8000 - 0x34ae5fff libbsm.0.dylib armv7 <df1574298fea28ad799e1549425b44a4> /usr/lib/libbsm.0.dylib
0x34b3c000 - 0x34c55fff libicucore.A.dylib armv7 <71ef015f1994cf85658df91a50a37815> /usr/lib/libicucore.A.dylib
0x34c56000 - 0x34c56fff Accelerate armv7 <0601858b149ba0586210ad15b0d41c1e> /System/Library/Frameworks/Accelerate.framework/Accelerate
0x34cdf000 - 0x34da1fff CFNetwork armv7 <0860d900e5328f349290feaaa3eb6e9a> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x35122000 - 0x3514bfff MobileCoreServices armv7 <fe6ab911eb680b758f415e20afec8e00> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
</string>
<key>displayName</key>
<string>CoreDataBooks</string>
<key>name</key>
<string>CoreDataBooks</string>
<key>os_version</key>
<string>iPhone OS 4.1 (8B117)</string>
<key>system_ID</key>
<string></string>
<key>version</key>
<string>??? (???)</string>
</dict>
</plist>
与其他核心数据相关的样本相同。
提前致谢, 尼古拉
【问题讨论】:
【参考方案1】:只是猜测,但请尝试手动创建文档目录。由于 abort(); 它崩溃了当无法访问持久存储时调用它。如果目录不存在,则无法访问(即创建)它。
我认为文档目录是在定期安装应用程序时创建的。
或者尝试在开头的某个地方添加这个:
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
[[NSFileManager defaultManager] createDirectoryAtPath:path attributes:0];
【讨论】:
嗯,你帮了我很多。谢谢!以上是关于创建新的持久性存储时崩溃(越狱的 iPhone 设备 4.1)的主要内容,如果未能解决你的问题,请参考以下文章