my App runs fine on iOS 11 and up, but fails on iOS 9 and 10. If a colleague is building it, it works for all iOS versions. If I build it, it does not. This is what I get in console:
[com.blablafy.ios.blablapay] Bootstrap failed with error: <NSError: 0x78e31c0; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Process already exists for job specification">
Bootstrapping failed for <FBApplicationProcess: 0x7032bb0; com.blablafy.ios.blablapay; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.blablafy.ios.blablapay" UserInfo={BSErrorCodeDescription=bootstrap-failed, NSLocalizedFailureReason=Process already exists for job specification, NSLocalizedDescription=Unable to bootstrap process with bundleID com.blablafy.ios.blablapay}
I found a similar post suggesting to check the profiles and the certificates. All are not expired! Trust settings for all mentioned certificates is "Use system defaults".
What can I check or do to make it work?
We finally found it to be Xamarin.Forms.Visual.Material. The Xamarin team from Microsoft helped us for investigation and they found that Apple store and TestFlight completely removing all the native frameworks from the app when sending the app to 32-bit iPhones, so it crashes at launch. At least, this happened with Xamarin.Forms.Visual.Material.
The bad thing is, that this only happens using Testflight or App Store distribution. If you send the app to the device manually (eg debug from Visual Studio) or using AdHoc mechanisms, it works like a charm. Unfortunately, because of this, you may realize the issue only in the last phase while trying to distribute it.
Thus, the solution is to remove any dependency to Xamarin.Forms.Visual.Material and remove code like FormsMaterial.Init().
If you plan to ignore users with 32 bit devices, you may also ignore this post and this problem.