我已经在iPhone 5和4s上测试了我的应用程序.然后我把我的应用程序发送给测试人员,他有5s的iPhone.一切都没事有一段时间,当我向应用程序添加了一些功能时,我向他发送了另一个版本,但现在他说它在启动时崩溃了.在我的设备上,一切都OK我请他给我发消防报告.这是.ips文件:
{"bundleID”:"name.my-app","app_name”:”my-app","bug_type":"109","name”:”my-app","os_version":"iPhone OS 7.1 (11D167)","version":"1.0 (1.0)"}
Incident Identifier: 3916. . .194
CrashReporter Key: 58fd. . .7399
Hardware Model: iPhone6,2
Process: my-app [277]
Path: /var/mobile/Applications/0AB0. . .B5B/my-app.app/my-app
Identifier: name.my-app
Version: 1.0 (1.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2014-03-27 02:10:39.959 +0400
OS Version: iOS 7.1 (11D167)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000,0x0000000000000000
Triggered by Thread: 24
Last Exception Backtrace:
(0x1893e2950 0x1958e81fc 0x1893e2890 0x1000f09a0 0x195ec0014 0x195ebffd4 0x195ec64a8 0x195ec24c0 0x195ec70f4 0x195ec74fc 0x1960556bc 0x19605554c)
Thread 0:
0 libsystem_kernel.dylib 0x0000000195fbdca0 0x195fbc000 + 7328
1 CoreFoundation 0x00000001893a2570 0x1892d8000 + 828784
2 CoreFoundation 0x00000001893a0764 0x1892d8000 + 821092
3 CoreFoundation 0x00000001892e16cc 0x1892d8000 + 38604
4 GraphicsServices 0x000000018efc5c08 0x18efb8000 + 56328
5 UIKit 0x000000018c412fd8 0x18c398000 + 503768
6 my-app 0x00000001000f1ae8 0x1000dc000 + 88808
7 libdyld.dylib 0x0000000195edba9c 0x195ed8000 + 15004
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thread 24 Crashed:
0 libsystem_kernel.dylib 0x0000000195fd658c 0x195fbc000 + 107916
1 libsystem_c.dylib 0x0000000195f6a804 0x195f08000 + 403460
2 libc++abi.dylib 0x0000000195190990 0x195190000 + 2448
3 libc++abi.dylib 0x00000001951adc28 0x195190000 + 121896
4 libobjc.A.dylib 0x00000001958e84d0 0x1958e0000 + 34000
5 libc++abi.dylib 0x00000001951ab164 0x195190000 + 110948
6 libc++abi.dylib 0x00000001951aaa7c 0x195190000 + 109180
7 libobjc.A.dylib 0x00000001958e8314 0x1958e0000 + 33556
8 CoreFoundation 0x00000001893e288c 0x1892d8000 + 1091724
9 my-app 0x00000001000f099c 0x1000dc000 + 84380
10 libdispatch.dylib 0x0000000195ec0010 0x195ebc000 + 16400
11 libdispatch.dylib 0x0000000195ebffd0 0x195ebc000 + 16336
12 libdispatch.dylib 0x0000000195ec64a4 0x195ebc000 + 42148
13 libdispatch.dylib 0x0000000195ec24bc 0x195ebc000 + 25788
14 libdispatch.dylib 0x0000000195ec70f0 0x195ebc000 + 45296
15 libdispatch.dylib 0x0000000195ec74f8 0x195ebc000 + 46328
16 libsystem_pthread.dylib 0x00000001960556b8 0x196054000 + 5816
17 libsystem_pthread.dylib 0x0000000196055548 0x196054000 + 5448
Thread 25:
0 libsystem_kernel.dylib 0x0000000195fd6e74 0x195fbc000 + 110196
1 libsystem_pthread.dylib 0x0000000196055548 0x196054000 + 5448
Thread 26:
0 libsystem_kernel.dylib 0x0000000195fd6e74 0x195fbc000 + 110196
1 libsystem_pthread.dylib 0x0000000196055548 0x196054000 + 5448
Thread 24 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x00000001035de7b8
x4: 0x0000000000002060 x5: 0x00000001035de870 x6: 0x000000000000006e x7: 0x0000000000000640
x8: 0x000000000c000000 x9: 0x0000000004000000 x10: 0x0000000098d956f7 x11: 0x0000000000000300
x12: 0x0000000000000000 x13: 0x0000000000000000 x14: 0x0000000000000000 x15: 0x0000000195f83dcb
x16: 0x0000000000000148 x17: 0x00c8d95a0138084d x18: 0x0000000000000000 x19: 0x0000000000000006
x20: 0x00000001035e0000 x21: 0x000000017013b5d8 x22: 0x000000017013b600 x23: 0x000000015d610870
x24: 0x00000001963068e8 x25: 0x0000000100100000 x26: 0x0000000198d87c40 x27: 0x000000017026c2c0
x28: 0x000000000000000a fp: 0x00000001035de7f0 lr: 0x000000019605916c
sp: 0x00000001035de7d0 pc: 0x0000000195fd658c cpsr: 0x00000000
Binary Images:
0x1000dc000 - 0x1000f7fff my-app arm64 <d6f1f532dfbc36c497acefc4aa2c7f2f> /var/mobile/Applications/0AB088E7-6425-4287-9C4B-1EEF37E7DB5B/my-app.app/my-app
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0x19606c000 - 0x19608ffff libxpc.dylib arm64 <7077afbad955309d8cb9965960c781f3> /usr/lib/system/libxpc.dylib
我在这里读了很多类似的问题,他们说我需要通过终端来象征这个.ips.但它不行. atos命令返回无法读取my-app.app,xcrun atos返回同一个指定的内存地址.
xcrun atos -arch arm64 -o 'my-app.app' 0x196054000 + 5448 0x196054000 + 5448
我不知道,我需要指定这个数字,但是如果没有它也不行.
提前感谢,我将非常感谢任何帮助.
更新:
我已经弄清楚了NSFileManager出错了,它在64位和32位上的作用不同
[fileManager fileExistsAtPath:pathToCacheDir isDirectory:&isDirectory];
isDirectory返回NO,虽然pathToCacheDir是有效的目录,这就是为什么我有异常.
但问题仍然有效,如何从测试人员得到一些更容易理解的报告?
解决方法
我从Windows用户那里获得了大量的.ips文件,并且想知道如何处理它们.将它们重命名为.crash,使Xcode可以快速导入(转到管理器,库设备日志和导入)并对其进行符号化.
编辑:当我最初写这个答案的时候,就是考虑到Xcode 6.较新版本的Xcode(7我认为)已经移动了. According to Apple:
Xcode will automatically attempt to symbolicate all crash reports that
it encounters. All you need to do for symbolication is to add the
crash report to the Xcode Organizer.
- Connect an iOS device to your Mac
- Choose “Devices” from the “Window” menu
- Under the “DEVICES” section in the left column,choose a device
- Click the “View Device Logs” button under the “Device information” section on the right hand panel
- Drag your crash report onto the left column of the presented panel
- Xcode will automatically symbolicate the crash report and display the results