We're having some strange issue with our app and/or Testflight since a few days ago: our app runs fine on simulator and devices (iOS 12, iOS 14 & iOS 15) when run from Xcode, but it crashed at launch when we archive and distribute it via Testflight for iOS 14 and below, but NOT for iOS 15 (we haven't tried to actually release to the AppStore).
The app was working perfectly fine on iOS 12+ until then, on Testflight or otherwise.
No crash log is ever generated by these crashes (either on Crashlytics, or Organizer, or even in the device crash logs), and what's more mysterious is that when re-archiving past versions of the code that had no issues 3 weeks ago and are live on the app store, we are now getting the crashes.
We've dug into the device logs to try and get some more info, and we could find
com.apple.stability.crash {"appVersion":"3.3.1","bundleID":"com.cobble.ios","exceptionCodes":"0x0000000000000000, 0x0000000000000000","incidentID":"B47DF725-343B-4D8E-A1C4-8F52EB5766C1","logwritten":1,"process":"Cobble Production","terminationReasonExceptionCode":"0x1","terminationReasonNamespace":"DYLD"}
for iOS 14, and
Process exited: <FBApplicationProcess: 0x10a2dd110; Cobble Producti (com.cobble.ios); pid: -1> -> <FBApplicationProcessExitContext: 0x28331a100; exitReason: (none); terminationReason: (none)> {
stateAtExit = <FBProcessState: 0x283cd8cc0; pid: 4156; taskState: Not Running; visibility: Unknown>;
}
for iOS 12.
We haven't had any luck so far figuring out what the issue(s) can be, but we've tried a lot of things from building on different computers, playing around in the build settings, updating our pods, to fully uninstalling/reinstalling Xcode and the project from Github..
It might be worth noting that we're using automatic signing from Xcode (changing that is our next test)
Any help would be greatly appreciated!!
Basically, there is a reference to the new swift concurrency likely in a third party library of your application in use.
See these threads for details:
https://forums.swift.org/t/app-distributed-via-testflight-crashes-on-launch/53936/6 and on apple forums https://developer.apple.com/forums/thread/696197
3 official work arounds:
use Xcode 13.1 with bitcode disabled for archives (not good because then app store can't recompile on the server to support new toolchains etc)
use Xcode 13.2 RC as normal (however, will then fail for iOS 12 devices with chkstk_darwin symbol issue) (UPDATE: Xcode 13.2.1 still has a crashing issue for iOS 12, so still wouldn't recommend the updated Xcode fix. EDIT: it looks like Xcode 13.3 BETA has additionally fixed the iOS 12 crash according to release notes. I have not confirmed yet personally.)
add libswift_Concurrency.tbd in the "Link Binary with Libraries" build phase (and make it optional). (seems to be the most ideal solution)
The resulting crash would look something like this:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Description: DYLD, dyld: Using shared cache: A194BE38-C853-3272-8F62-1028DD9E9B9B | dependent dylib '#rpath/libswift_Concurrency.dylib' not found for '/private/var/containers/Bundle/Application/869587C8-912F-4A90-93DC-F5C6B531AC13/Her.app/Her', tried but didn't find: '/usr/lib/swift/libswift_Concurrency.dylib' '/private/var/containers/Bundle/Application/869587C8-912F-4A90-93DC-F5C6B531AC13/Her.app/Frameworks/libswift_Concurrency.dylib' '#rpath/libswift_Concurrency.dylib' '/usr/local/lib/libswift_Concurrency.dylib' '/usr/lib/libswift_Concurrency.dylib'
Highlighted by Thread: 0
You can find the crash log via Settings -> Privacy -> Analytics & Improvements -> Analytics Data since you won't be able to get it anywhere else or get the device logs when connected to xcode with physical device and it goes through the crash.
I got this working. I used an older version of Xcode (12.5.1) to archive a build. New build (archived from older version of Xcode) from TestFlight is working on iOS 14+ and iOS 15+.
We've ended up finding a solution for our issue:
we're using the new Xcode 13.2RC (not ideal since it's not a final release yet, but no luck without it) - you'll need the latest MacOS to run it
we've removed support for iOS 12 from our build (which thankfully we could afford to do since only a tiny fraction of our users were still using that version)
These 2 things are both required on our end, trying to do one without the other would still show us the crashes.
I don't know if this is going to be the solution for everybody, so here are a couple of links we've used to get some ideas:
https://developer.apple.com/forums/thread/696197
https://developer.apple.com/forums/thread/696463 (that's our own Apple forum thread, but it has other ideas)
Also wanted to add to the things we've tested while debugging:
From Xcode Organizer, distributing as Dev or Ad Hoc an archive that presents the issue on Testflight does NOT present the issue when installing directly to device, which reinforces the idea this is not a code/archive issue
We've switched automated app signing to manual using all sorts of provisioning profiles (ad hoc, dev & distribution, using either iOS-only or Apple certificates), and the issue only presents itself when distributing to Testflight/Store using the distribution profiles
At the end of the day, it does look like an Apple issue and we would expect to see a fix soon - especially since more and more people have been faced with a similar problem.
In our case we had already supported just iOS 14+. In our case app suddently start crashing on one Bitrise build where no change was even committed. So maybe Bitrise increased its Xcode patch nubmer?
However, using Xcode 13.2 RC didn't help in our case since TestFlight didn't accept it as it was built with unknown version of SDK. Our CI/CD tool Bitrise also didn't support building using Xcode 13.2 so workaround was to manually release app using Xcode 13.2 (which is already releasesd) and once Bitrise supports it, we'll change it on Bitrise as well.
The device that can't display the app is running version 11.4.1 (15G77). Instead of showing any apps, it's instead displaying 'no apps found'. Hoping someone has had a similar issue and found a fix.
Tried with different sets of iOS devices, none had the same issue.
I'm in the midst of squashing bugs for my App in development, and I've stumbled across a problem when it comes to addressing a crash occurring on iOS 8.0.2
The problem is that I can't actually test (On the simulator) for iOS 8.0.2 as the earliest version of iOS 8 I can use is 8.1
I am not supporting iOS 7, but did go back and try to see if I could catch the bug there as described by the tester who reported the crash. It did not occur no matter what I did, so I assume it must occur when running iOS 8 only.
I'm not sure how to address this problem. I would like to submit my App for review, but if I cannot eliminate this crash I will be rejected. Yet I can't test for it either. I've been waiting a day+ now for any crash report to come back from Test-Flight, but none have shown yet. It could take around three days for that to happen.
Can anyone assist me in finding another way or workaround to be able to test for this crash?
You could download and install Xcode 6 (Xcode 6.1 might also have the iOS 8.0 simulator) as that'll have the iOS 8 SDK and simulators (you'll have to be signed in to your Apple developer account to access those links otherwise pick from the list here).
The problem you'll then have with that though, is that you'll be compiling your code against a different SDK. But its worth a try!
Its also difficult to get specific 8.0.X versions of the simulators as they only really have the minor version release (8.X) available as opposed to the bug fix releases.
Obviously the only guaranteed way to reproduce the issue is on a 8.0.2 device.
OS: Windows 7 (Mac cannot be used)
Apple mobile devices running iOS7
We're testing our apps. In iOS6 and previous versions of iOS, we just needed to sync the iOS device using iTunes, and the app crash logs & memory dumps appeared in "C:\Users\ *USERNAME \AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\ *DEVICENAME" (mostly there was a ".crash" file). But after updating to iOS 7, the crash logs no longer appear in the specified directory when the iOS device is synced. Since crash logs are vital in knowing what caused the crash, we need them as soon as the app crashes. Please provide some help on how to get the crash logs.
EDIT: WHY ARE YOU GUYS DOWNVOTING?
Use the Xcode organizer to see the crashes of your device and get it symbolicated.
My game is crashing at launch on iPads for some users with some mystical reason.
But it works fine on iPhone (iPad and iPhone versions are different apps, but technically is the same builds, just different targets)
It happens after updating the app to version 1.1.1
The game had previous updates which works correctly. (updating few months ago 1.0 -> 1.1 was perfect)
Version 1.1.1 was created for iOS 6 compatibility- Landscape GameCenter bug + added few SDKs (Urban Airship, Flurry, TapJoy etc) + app name was changed
As far I know - crash happens for users who updated their iPads to iOS 6.0 and updated the game after that.
App update process working fine for me and few other test devices, but a lot of users experienced the crash and wrote 1* comments in App Store.
Bug was unable to reproduce.
One more weird thing:
Only thing I have is single crash report.
Please help me to read it, I will be really appreciated!
Download crash report here
I've had similar problems with flurry and only figured it out after adding a crash reporting SDK to my app. I've tried a few. Here's a decent free one:
www.crittercism.com