Сбой при создании нового постоянного хранилища (взломанное iPhone-устройство 4.1) - PullRequest
0 голосов
/ 27 октября 2010

Каждый раз, когда я развертываю образец приложения Apple iOS «CoreDataBooks» на своем взломанном устройстве с самозаверяющим сертификатом и запускаю его - он вылетает в строке, где постоянное хранилище данных ядра добавляется в координатор постоянного хранилища:

строка 178:

if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {

// Обновление для надлежащей обработки ошибки. NSLog (@ "Неразрешенная ошибка% @,% @", ошибка, [ошибка userInfo]); прервать (); }

Интересно также, что каталог приложения «Document» никогда не создавался и sqlite никогда не копировался в него, поэтому я подозреваю, что он может быть связан с проблемой разрешений на запись. Тем не менее, я протестировал приложение, рекурсивно установив разрешения 777, и это было то же самое.

Пример отлично работает с iPhone Simulator.

Краткое описание среды:

  • 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

Для целей строительства образец конфигурации был слегка изменен:

  1. Базовый SDK: iOS-устройство 4.1
  2. Кодовая подпись / Любое устройство iPhone OS: «Кодовый знак Xcode»
  3. Цель развертывания 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>

То же самое с другими образцами, связанными с основными данными.

Заранее спасибо, Nikola

1 Ответ

2 голосов
/ 27 октября 2010

Просто предположение, но попробуйте создать каталог документов вручную.Вылетает из-за прерывания ();который вызывается, когда постоянное хранилище не может быть доступно.И он не может быть доступен (т.е. создан), если каталог не существует.

Я думаю, что каталог документов создается при обычной установке приложения.


Или попробуйте добавить это где-нибудь в начале:

NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
[[NSFileManager defaultManager] createDirectoryAtPath:path attributes:0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...