我正试图让我的第一个SpriteKit游戏进入应用程序商店。它在崩溃的基础上遭到拒绝,但我无法复制它。我尝试在设备上运行相同的存档并查看了崩溃报告。也许我错过了什么。 [PKPhysicsBody dealloc]
也因为不存在而令人困惑。以下是报告:
您的应用在发布时崩溃了。使用您的应用时会发生这种情况:
在蜂窝网络上
Incident Identifier: 2AF5DCC3-3B9D-47E9-81C7-9D68CD7D8560
CrashReporter Key: 1b565a0649bcb9a768618a9e56a78c389c26cc14
Hardware Model: xxx
Process: QuartzRun [238]
Path: /var/mobile/Applications/2E6AF70A-3918-4409-92C4-A63DDFED3835/QuartzRun.app/QuartzRun
Identifier: com.keelyhill.QuartzRun
Version: 1.0.0 (1.0.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2014-03-05 09:38:05.915 -0800
OS Version: iOS 7.0.6 (11B651)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0xbaddf80c8da7beb5
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 PhysicsKit 0x000000018e47a1ac -[PKPhysicsBody dealloc] + 40
1 PhysicsKit 0x000000018e47a3e8 -[PKPhysicsBody initWithRectangleOfSize:] + 272
2 PhysicsKit 0x000000018e47afa0 +[PKPhysicsBody bodyWithRectangleOfSize:] + 64
3 SpriteKit 0x000000018982e528 +[SKPhysicsBody bodyWithRectangleOfSize:] + 32
4 QuartzRun -[Game loadLevel] (Game.m:156)
5 QuartzRun 0x000000010001d7b0 0x100018000 + 22448
6 SpriteKit 0x00000001897f30d8 +[SKScene sceneWithSize:] + 84
7 QuartzRun 0x0000000100024628 0x100018000 + 50728
8 SpriteKit 0x00000001897f30d8 +[SKScene sceneWithSize:] + 84
9 QuartzRun 0x0000000100022f84 0x100018000 + 44932
10 QuartzRun 0x0000000100022ffc 0x100018000 + 45052
11 UIKit 0x0000000189936d24 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 264
12 QuartzCore 0x00000001895330c8 -[CALayer layoutSublayers] + 180
13 QuartzCore 0x000000018952dc90 CA::Layer::layout_if_needed(CA::Transaction*) + 296
14 QuartzCore 0x0000000189560bc4 -[CALayer layoutIfNeeded] + 200
15 UIKit 0x00000001899bd5c0 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 4124
16 UIKit 0x00000001899bc51c -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 124
17 UIKit 0x000000018993e074 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 400
18 UIKit 0x00000001899bbb48 -[UIViewController _tryBecomeRootViewControllerInWindow:] + 188
19 UIKit 0x000000018994399c -[UIWindow addRootViewControllerViewIfPossible] + 520
20 UIKit 0x0000000189940aac -[UIWindow _setHidden:forced:] + 304
21 UIKit 0x00000001899b4888 -[UIWindow makeKeyAndVisible] + 64
22 UIKit 0x00000001899b11ec -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 2048
23 UIKit 0x00000001899aa99c -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 768
24 UIKit 0x000000018993d52c -[UIApplication handleEvent:withNewEvent:] + 3332
25 UIKit 0x000000018993c71c -[UIApplication sendEvent:] + 100
26 UIKit 0x00000001899aa0ac _UIApplicationHandleEvent + 708
27 GraphicsServices 0x000000018c349124 _PurpleEventCallback + 672
28 GraphicsServices 0x000000018c348c50 PurpleEventCallback + 44
29 CoreFoundation 0x0000000186a26fc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
30 CoreFoundation 0x0000000186a26f24 __CFRunLoopDoSource1 + 440
31 CoreFoundation 0x0000000186a25148 __CFRunLoopRun + 1616
32 CoreFoundation 0x0000000186965b34 CFRunLoopRunSpecific + 448
33 UIKit 0x00000001899a92d0 -[UIApplication _run] + 780
34 UIKit 0x00000001899a40e4 UIApplicationMain + 1152
35 QuartzRun 0x0000000100024ec0 0x100018000 + 52928
36 libdyld.dylib 0x00000001934a7a9c start + 0
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x0000000193589ac8 kevent64 + 8
1 libdispatch.dylib 0x000000019348dd74 _dispatch_mgr_thread + 48
Thread 2 name: Dispatch queue: com.apple.gamecenter.GKDaemonProxy
Thread 2:
0 libsystem_kernel.dylib 0x0000000193589cfc semaphore_wait_trap + 8
1 GameCenterFoundation 0x00000001877d3a2c __35-[GKDaemonProxy buildServiceLookup]_block_invoke + 576
2 libdispatch.dylib 0x000000019348c41c _dispatch_call_block_and_release + 20
3 libdispatch.dylib 0x000000019348c3dc _dispatch_client_callout + 12
4 libdispatch.dylib 0x00000001934926ec _dispatch_queue_drain + 540
5 libdispatch.dylib 0x000000019348e880 _dispatch_queue_invoke + 64
6 libdispatch.dylib 0x00000001934933a4 _dispatch_root_queue_drain + 312
7 libdispatch.dylib 0x0000000193493634 _dispatch_worker_thread2 + 72
8 libsystem_pthread.dylib 0x0000000193621914 _pthread_wqthread + 352
9 libsystem_pthread.dylib 0x00000001936217a4 start_wqthread + 0
Thread 3:
0 libsystem_kernel.dylib 0x00000001935a2e74 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x00000001936217a4 start_wqthread + 0
Thread 4:
0 libsystem_kernel.dylib 0x00000001935a2e74 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x00000001936217a4 start_wqthread + 0
Thread 5:
0 libsystem_kernel.dylib 0x00000001935a2e74 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x00000001936217a4 start_wqthread + 0
Thread 6:
0 libsystem_kernel.dylib 0x00000001935a2e74 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x00000001936217a4 start_wqthread + 0
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x00000001701a80a0 x1: 0x0000000189fbd5b0 x2: 0x0000000000000008 x3: 0x00000001935dbd18
x4: 0x0000000000000001 x5: 0x0000000000000001 x6: 0x0000000000000000 x7: 0x0000000000000002
x8: 0xbaddf80c8da7bead x9: 0x0000000000000000 x10: 0x0000000000360600 x11: 0x0000000000000000
x12: 0x00000000001f9300 x13: 0x0000000000000000 x14: 0x0000000000000300 x15: 0x0000000000800000
x16: 0x000000019361d144 x17: 0x000000018e47a184 x18: 0x0000000000000000 x19: 0x0000000134520970
x20: 0x00000001701a80a0 x21: 0x0000000134520970 x22: 0x0000000189fbd5cf x23: 0x0000000193eb5b48
x24: 0x0000000100030000 x25: 0x0000000189855882 x26: 0x0000000189fcb0fa x27: 0x00000001700eaf80
x28: 0x0000000134510b40 fp: 0x000000016fde3930 lr: 0x000000018e47a3ec
sp: 0x000000016fde3910 pc: 0x000000018e47a1ac cpsr: 0x60000000
二进制图像: 我离开了帖子
这是[Game loadlevel](相关部分):
SKSpriteNode *top = [SKSpriteNode spriteNodeWithImageNamed:@"top"];
top.size = CGSizeMake(top.size.width, top.size.height/1.5);
top.position = CGPointMake(i * top.size.width, self.size.height - top.size.height/3.5);
/* This is line 156 */ top.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(top.size.width, top.size.height - 32 * iPad)];
top.physicsBody.restitution = 0.0f;
top.physicsBody.affectedByGravity = NO;
top.physicsBody.dynamic = NO;
top.physicsBody.categoryBitMask = backgroundCategory;
iPad param是我在prefix.pch中的一个int。它在应用程序委托中设置为1或2,具体取决于设备。我发现如果这是0,它会崩溃。
应用代表中的代码执行芬兰语启动:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) iPad = 2;
else iPad = 1;