App rejected twice but cannot reproduce the issue

2019-01-20 19:39发布

I cannot reproduce the issue on any iPhone and iPad, all builds on Debug, Release and even the ad-hoc build installed with iTunes work just fine. This is an update of an already existing app. The only things added from the previous version are Notifications using Azure Notification Hubs and a version check. I am using the latest version of Xamarin iOS to create the app

The supported Architectures are ARMv7 + ARM64

I have tried:

  • Running the zombies instrument
  • Minimizing startup load

Part of the crash log is here but i cant make anything of it

Incident Identifier: 533700FF-EE1C-4DFC-AFAD-60FE3600B66D
CrashReporter Key:   9cadde5ef1a33ebb1b6aeeaed6696a7ce8b4087d
Hardware Model:      xxx
Process:             TapNOrder [9390]
Path:                /private/var/mobile/Containers/Bundle/Application/45780C57-DBB0-465C-872F-8A3BE6723261/TapNOrder.app/TapNOrder
Identifier:          biz.innovative-ideas.tapnorder
Version:             0.1.7.2 (0.1.7)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]

Date/Time:           2016-01-11 15:00:11.11 -0800
Launch Time:         2016-01-11 15:00:11.11 -0800
OS Version:          iOS 9.2 (13C75)
Report Version:      105

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Triggered by Thread:  0

Filtered syslog:
None found

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   ???                             000000000000000000 0 + 0
1   TapNOrder                       0x0000000100f8984c 0x1000a8000 + 15603788
2   TapNOrder                       0x0000000100f88c40 0x1000a8000 + 15600704
3   TapNOrder                       0x0000000100f88c78 0x1000a8000 + 15600760
4   TapNOrder                       0x0000000100d7e570 0x1000a8000 +     13460848
5   libobjc.A.dylib                 0x00000001827fab54 0x1827f4000 + 27476
6   libobjc.A.dylib                 0x0000000182806080 0x1827f4000 + 73856
7   libobjc.A.dylib                 0x00000001828060e0 0x1827f4000 + 73952
8   UIKit                           0x000000018822fefc 0x187e6c000 + 3948284

...

Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x00000001a0a82180   x3: 0x000000016fd55f08
    x4: 0x000000013d88f680   x5: 0x0000000000000000   x6: 0x000000013d562090   x7: 0x0000000000000b20
    x8: 0x0000000000000000   x9: 0x0000000000000000  x10: 0x0000000000000557  x11: 0x00000001a2f35929
   x12: 0x00000001a2f35929  x13: 0x0000000000000001  x14: 0x000000008000001f  x15: 0x0000000080000023
   x16: 0x0000000182dfbaf4  x17: 0x00000001014082d8  x18: 0x0000000000000000  x19: 0x0000000101471870
   x20: 0x000000013d562090  x21: 0x0000000182818fa6  x22: 0x0000000100d7e540  x23: 0x00000001a0a823e0
   x24: 0x000000018280de80  x25: 0x000000019fb37616  x26: 0xf3002d81df52aec2  x27: 0x000000019feef000
   x28: 0x000000019feef000  fp: 0x000000016fd55f20   lr: 0x0000000100f863b0
    sp: 0x000000016fd55f10   pc: 0x0000000000000000 cpsr: 0xa0000000

The complete crash log is here: Apple Crash Log

Any ideas?

2条回答
闹够了就滚
2楼-- · 2019-01-20 20:13

Crash Re Symbolication is process to find exact crash issue.

Just follow given steps to counter your crash issue. To get your symbolicated logs from Crash logs you will need following files:

  1. AppName.app — Application file (Executable)
  2. AppName-dsym.dSYM — dSYM file, generated by XCODE when actual .app file complied
  3. AppName-Crash-log.crash 

enter image description here

Follow all the steps carefully and then check crash logs you will find exactly where it crashes the app.

Now follow below given steps :

  1. Move all the above files (AppName.app, AppName-dSYM.dSYM and AppName-Crash-log.crash) into a Folder with a convenient name wherever you can go using Terminal easily. Simply create MyCrashReport folder on desktop and add all three files in it.

  2. Go to the path from following whichever is applicable for your XCODE version :

Xcode 6

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

Other then Xcode 6

Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

Or

Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

XCode 7.3

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

  1. Copy symbolicatecrash file from this location, and paste it with above three files in MyCrashReport folder.

enter image description here

  1. Open Terminal, and CD to the MyCrashReport Folder.

  2. cd Desktop/MyCrashReport — Press Enter

  3. export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer" — Press Enter

  4. ./symbolicatecrash -v AppName-Crash-log.crash AppName.dSYM — Press Enter

Its done!!! Now Symbolicated logs are on your terminal and find out error or crash in it.

Check this link for detail description. https://medium.com/@Mrugraj/crash-re-symbolication-5c28d3a3a883#.4lvl4h625

查看更多
孤傲高冷的网名
3楼-- · 2019-01-20 20:26

I could not find the file in this directory Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources because for some reason i am missing the folder /DTDeviceKit.framework and the dsym files could not download as well, so i followed this procedure and posting it here if someone else needs it, no Terminal needed:

If you have the correct .ipa and .dSYM files that match the crash log:

  1. Drop them all into one folder for simplicity,
  2. Attach your device to your macbook,
  3. Remove your app from your device,
  4. Install the app via the .ipa device directly through itunes (this may take a bit of searching but is fairly easy)

Once that is done, and you are assured your app matches the one that caused the crash log, open XCode.

In Xcode,

  1. Fire up the Window | Devices view
  2. Select your device,
  3. Click on View Device Logs
  4. Drag your crash log into the log window (left-hand pane, under the headers: Process / Dev / etc..

That was it, Xcode automatically symbolicated the crash log.

查看更多
登录 后发表回答