Swift Binary rejected and i cannot reproduce the crash - ios

Apple just rejected my app because they claim it crashed on launch.
Detailed crash logs are :
Version: 143 (1.1)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2016-01-12 16:10:55.55 -0800
Launch Time: 2016-01-12 16:10:54.54 -0800
OS Version: iOS 9.2 (13C75)
Report Version: 105
Filtered syslog:
None found
Dyld Error Message:
Dyld Message: Library not loaded: #rpath/FBSDKLoginKit.framework/FBSDKLoginKit
Referenced from: /var/mobile/Containers/Bundle/Application/xxx
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/xxx
xxx.app/Frameworks/FBSDKLoginKit.framework/FBSDKLoginKit: mremap_encrypted() => -1, errno=12 for /private/var/mobile/Containers/Bundle/Application/xxx
xxx.app/Frameworks/FBSDKLoginKit.framework/FBSDKLoginKit
/private/var/mobile/Containers/Bundle/Application/ xxx.app/Frameworks/FBSDKLoginKit.framework/FBSDKLoginKit: mremap_encrypted() => -1, errno=12 for /private/var/mobile/Containers/Bundle/Application/
xxx.app/Frameworks/FBSDKLoginKit.framework/FBSDKLoginKit
/private/var/mobile/Containers/Bundle/Application/
Dyld Version: 370.6
The app is written is swift and the problem is I cannot reproduce the crash on any device. I've tested on iphone 5, 6 and 6s Plus. Do you have an idea on what might have caused the problem, how i can reproduce the problem and how i can finally solve the problem is there is any? Some other thread here said that if you resubmit the app might be accepted, is this advice valid ? Thanks in advance for your answers
EDIT 1
I forgot to mention that the app got rejected in version 1.1 There was no rejection at version 1.0
EDIT 2
I contacted apple developer support and their answer was not related to the FBSDKLoginKit framework
I am writing to you today in response to your inquiry about your App crashing.
After reviewing your case we have determined that you may be using Resource Rules in your project’s code signing settings. Resource Rules are no longer supported. Please review your build settings in Xcode and remove any Resource Rules.
After removing any Resource Rules from your build settings, please clean your project by selecting the Clean command from the Project menu while holding down the option key. This will delete any intermediate files from previous builds. After that you should be able to build your project successfully.
The problem is that i never used resource rules.

As I shared here https://stackoverflow.com/a/35921044/95397:
I think the issue is a matter of running out of memory and iOS not really dealing with this in a great way and that the only reason your app was accepted when you resubmitted was because the (new) reviewer’s device was not in the same situation.
I did a write-up of the issue on our app’s repo: https://github.com/artsy/eigen/issues/1246

Related

iOS/Xcode all projects loading a custom embedded framework started crashing today

I'm working on an iOS project with a moderately complex build system that creates a framework/universal binary.
While making some changes to that framework & it's test app, running it suddenly started crashing in dyld before hitting main(). It appears to be an issue with Xcode, as reverting the build and even downloading a known good version now produce the same result! Dyld is failing to load the custom framework:
Process: TestApp [530]
OS Version: iOS 9.2.1 (13D15)
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread: 0
Dyld Error Message:
Dyld Message: Library not loaded: #rpath/Test.framework/Spin
Referenced from: /var/mobile/Containers/Bundle/Application/8A7C50D3-F3A1-4DB6-8929-52607F8605A2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/8A7C50D3-F3A1-4DB6-8929-52607F8605A2/TestApp.app/Frameworks/Test.framework/Test
mmap() errno=1 validating first page of
'/private/var/mobile/Containers/Bundle/Application/8A7C50D3-F3A1-4DB6-8929-52607F8605A2/TestApp.app/Frameworks/Test.framework/Test'
Error Formulating Crash Report:
Failed while requesting activity/breadcrumb diagnostics
This problem appears to have numerous possible root causes. I've tried the various solutions posted for question 32730312 (here: Reason: no suitable image found.) including:
deleting the projects Build and DerivedData folder
deleting various Xcode cache folders
restarting xcode, the computer & even the devices
regenerating the provisioning profile
discarding the project and building from a fresh pull or even previous releases of the SDK
None of those remedied the problem.
The project runs fine on the simulator, but not on a device. I'm unsure what else to try short of reinstalling Xcode and/or creating a separate user account as there's apparently something else blown apart in Xcode that I've missed!
Update: problem solved, root cause unknown.
I tried creating a new user account, checked out code from there, and got the same error. So, it wasn't a "hidden cache" of Xcode badness either...
Left with literally nothing else to try, I uninstalled & reinstalled Xcode, and everything started working again.
I post my results here hoping the last six hours of pain can help at least a single troubled soul... Ack!

My app frequently but randomly crashes the entire phone on application load

I recently started testing my iPhone app on my iPhone 5S device directly from XCode 5's debugger, and it seems to randomly crash the entire phone. I cannot pinpoint what the exact issue is. I'm not doing anything at all in my AppDelegate, so I don't believe it's related to something on load time. Sometimes performing a delete of the application, then a reset of the phone, and then a clearing of XCode's entire cache temporarily fixes the problem, but then it spontaneously comes back. It's very inconsistent. I'm at a complete loss at this point. The latest crash finally showed the following error message on the device itself:
Incident Identifier: 4180F1E2-E932-417A-92BE-82F2C414FB82
CrashReporter Key: e3cdd62843930ef2e7bcffbdb79479abc6141800 Hardware
Model: iPhone6,1 Process: XcodeDeviceMonitor [230]
Path: /Developer/usr/bin/XcodeDeviceMonitor Identifier:
XcodeDeviceMonitor Version: ??? Code Type: ARM
(Native) Parent Process: launchd [1]
Date/Time: 2013-11-09 18:54:39.040 -0500 OS Version:
iOS 7.0.3 (11B511) Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes:
0x0000000000000001, 0x00000000e7ffdefe Triggered by Thread: 0
Dyld Error Message: Library not loaded: /usr/lib/liblockdown.dylib
Referenced from: /Developer/usr/bin/XcodeDeviceMonitor Reason: image
not found Dyld Version: 324
Binary Images: 0x2befb000 - 0x2bf1efff dyld armv7s
/usr/lib/dyld
Given the reference to a breakpoint in the crash log, I do have one idea. In the past, I have seen Xcode crash my apps on launch if breakpoints are enabled. Try disabling breakpoints before launching the app, then enabling them shortly after launch, if you are using any. Let me know if this seems to make any sort of consistent difference!
It looks like the latest version of Xcode (5.0.2) that was released this past week resolved my issue. At least I haven't seen it since I applied the patch. I noticed one of the major issues fixed was for the debugger crashing the phone on iOS 6, but I suspect whatever they did also fixed my similar issue for iOS 7. Anyway, it's acting much more consistent now. Thanks for everyone's help.

App rejected due to non reproducible bug: possible reasons?

One of our apps recently got rejected for the second time, because "We found that your app failed to launch on iPad running iOS 6.0.1, on both Wi-Fi and cellular networks".
The crash log provided by Apple starts with:
Incident Identifier: CE8868A8-1C68-4161-91AD-DB50D3D5780B
CrashReporter Key: 83b816533ead866666681b87f5736242d8aac2ff
Hardware Model: xxx
Process: Test Skis [29192]
Path: /var/mobile/Applications/890E8D9C-6A17-4EA6-9A06-5503B3D35888/Test Skis.app/Test Skis
Identifier: Test Skis
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-04 19:24:52.667 -0800
OS Version: iOS 6.0.1 (10A523)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0
My question is not about how to fix the problem in our specific code, but a more general one: we have been unable to reproduce the crash using the same binary (making an Ad Hoc version), device, and OS version as the one Apple is supposedly using.
How is it possible that such a crash occurs on the Apple reviewer's device, and not ours? Are Apple reviewers' devices configured in a non standard way that could explain the difference?
I have found another question on Stack Overflow mentioning a similar issue, which has not been answered as well: Apple rejected app due to a crash which is not reproducing
My guess would be your ad-hoc build configuration is not identical to your release/distribution configuration in some way.
I had the same problem, and Apple sent me a crash report to look at. I learnt how to symbolicate them, but the relevant lines of code in my app would not symbolicate. So I tried making some other changes and resubmitted, resulting in the same rejection.
Finally I requested them to send more details because I tested with two devices and on the simulator. And today I saw that they 'Developer removed from sale' and then 'Ready for sale'. So I guess my app is good to go, without any change from my side.
It looks like you are trying to instantiate a nib (name unknown, since the exception reason is missing in the crash report) and it isn't present. Make sure all nibs required by the app are actually part of the build you send to Apple.

Why is SenTestingKit causing my app to crash?

I've created a map-based app for the iPhone, and recently submitted it to the store. I had no trouble running the app on the device or simulator. However, the store rejected it because it crashed on launch. The crash logs complain that the SenTestingKit framework wasn't found:
Date/Time: 2012-02-21 19:02:26.048 -0800
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread: 0
Dyld Error Message:
Library not loaded: /Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit
Referenced from: /var/mobile/Applications/*Long Application Reference Number*/MyApp.app/U of T Map
Reason: image not found
Dyld Version: 199.5
I've looked into others having this problem, and I'm sure as I continue to fiddle with it, I'll find the framework search path I need to include the SenTestingKit framework successfully.
What I'm confused about and need help understanding is:
Why did the device and simulator run fine without the framework, but the archived version didn't?
Why does it think I need this framework? I didn't use any unit testing during development. I used the SBJSON and ASIHTTPRequest libraries, but I didn't see an #import statement for SenTestingKit in any of the library code.
Is it easier for me to remove the need for SenTestingKit or somehow include it properly in the archive? I'd like to fix this problem, but I need this re-submitted to the app store ASAP.
I would really like to understand this problem on a conceptual level, rather than hack away until things work.
Just because you are not importing the SenTestingKit-Headers, does not mean that you are not linking its library.
Check your Build-Configuration/s => Target => Build Phases => Link Binary With Libraries for the entry SenTestingKit.framework. If that is present in anything but a Test-Target, remove it.
A Test-Target is symbolized by a little box , as opposed to an App-Target which is symbolized by a little house .

App crashes after AppStore upgrade

I have just release a new version of my app to Apple which Apple approved. The version works great... for new users. But for "old" users the app crashes. They have to uninstall the app and then re-install it.
I have some users still running 3.1.3 which even see app crashes after unstalling and re-installing it.
This is the crash log from one of my users:
Date/Time: 2010-11-25 17:29:00.476 +0100
OS Version: iPhone OS 3.1.3 (7E18)
Report Version: 104
Exception Type: EXC_BREAKPOINT
(SIGTRAP) Exception Codes: 0x00000001,
0xe7ffdefe Crashed Thread: 0
Dyld Error Message: Symbol not found: __NSConcreteGlobalBlock
Referenced from:
/var/mobile/Applications/2B003960-53A3-479A-9132-FE38C4AE88A2/stationen.app/stationen
Expected in:
/usr/lib/libSystem.B.dylib in
/var/mobile/Applications/2B003960-53A3-479A-9132-FE38C4AE88A2/stationen.app/stationen
Dyld Version: 149
This doesn't say me anything, can anybody help me with it?
App works great on my iPhone 4 running 4.1.
Regards,
Paul Peelen
Are you using Flurry? If so you might want to have a look at this FAQ page.
From the page:
To support OS 3.x, please set Base SDK
to iPhone Device 4.0 and iPhone OS
Deployment Target to iPhone OS 3.0.
Extra linker flags may be needed if
NSConcreteGlobalBlock and
UIBackgroundTaskInvalid runtime error
occur under 3.x. The linker flags are:
weak_framework UIKit weak_library
/usr/lib/libSystem.B.dylib
Dyld Error Message: Symbol not found: __NSConcreteGlobalBlock
Means that you're using __NSConcreteGlobalBlock and that it's not found on the device.
If you're using blocks in you app, you must require iOS 4.0 at least.

Resources