Xcode: iOS app suddenly always crashes on launch - ios

I created a quite simple app that can receive push notifications and display content. This is working without any problems since month.
Since yesterday the app suddenly crashes every time I want to launch it.
I'm using an iPhone 8 Plus with iOS 12.4.1. Restarting the app, hard and soft reset of the iPhone didn't help.
The console says the following:
fehler 07:37:35.510970 +0200 assertiond Unable to obtain a task name
port right for pid 542: (os/kern) failure (0x5)
fehler 07:37:35.511100 +0200 assertiond Failed to start job with error
{
description = "Unable to get valid task name port right for pid 542";
failureReason = "The process failed to exec";
recoverySuggestion = "Consult /var/log/com.apple.xpc.launchd/launchd.log for more information"; }
fehler 07:37:35.511894 +0200 SpringBoard [MyCompany.MyApp] Bootstrap
failed with error:
fehler 07:37:35.512091 +0200 SpringBoard Bootstrapping failed for
with
error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap
process with bundleID MyCompany.MyApp"
UserInfo={NSLocalizedDescription=Unable to bootstrap process with
bundleID MyCompany.MyApp, BKSProcessExitReason=0,
NSLocalizedFailureReason=Failed to start job,
NSUnderlyingError=0x28146e760 {Error Domain=NSPOSIXErrorDomain Code=3
"No such process" UserInfo={NSLocalizedFailureReason=The process
failed to exec, NSLocalizedRecoverySuggestion=Consult
/var/log/com.apple.xpc.launchd/launchd.log for more information,
NSLocalizedDescription=Unable to get valid task name port right for
pid 542}}, BSErrorCodeDescription=bootstrap-failed}
Does anybody have an idea why my app is suddenly crashing?

It might be happening if the developer certificate you used to create this app has been revoked or another app (still in development mode) with same bundle identifier is using your developer certificates. It happens when we build apps for testing purpose with free developer account which shares the certificate identities.

I had the same problem on my iPhone. It stopped working after a few days, so I checked around to see if I could find an answer. I found this, and it worked for me:
"Without enrolling in the Apple Developer Program, your app will only
last for 7 days on your device. After that, you’ll have to re-deploy
it to your device via Xcode. If you’re enrolled in the Apple Developer
Program, you won’t have this inconvenience."
I know it doesn't apply to the original question since he says he has a developer license, but it would apply to many others who don't pay for a license and if your license have expired.
I'm not sure if it's allowed to post a link to where I found the question, so just take it away if that's the case, but I do like to refer to where I got it from, when it's not me. https://codewithchris.com/deploy-your-app-on-an-iphone/

Related

How to debug "Error acquiring assertion" with CloudKit database subscription for mac-catalyst app?

I have a working native iPhone/iPad app that I’m now trying to also do as a Mac Catalyst app. Everything seems to working, except when I enter something on the iOS version, it "breaks" the macOS version – I’m using CloudKit and CloudKit subscriptions to listen to changes in database.
I get this into the log 3 times:
2020-04-25 09:58:35.612887+0300 MyApp[2871:206093] [assertion] Error acquiring assertion: <NSError: 0x600000d4cb40; domain: RBSAssertionErrorDomain; code: 2; reason: "Specified target process does not exist">
2020-04-25 09:58:35.613919+0300 MyApp[2871:206093] [assertion] Error acquiring assertion: <NSError: 0x600000d4d290; domain: RBSAssertionErrorDomain; code: 2; reason: "Specified target process does not exist">
2020-04-25 09:58:35.615102+0300 MyApp[2871:206093] [assertion] Error acquiring assertion: <NSError: 0x600000d4de00; domain: RBSAssertionErrorDomain; code: 2; reason: "Specified target process does not exist">
The behaviour is really strange. The macOS version doesn’t actually crash, but the main window disappears and I have to rebuild it in XCode the run it again. I’ve tried adding breakpoints etc to the notifications flow, but there’s nothing that catches so I’m really stumped. None of the usual application methods are called when the notification is received. The same problem appears in debug mode, both with simulator and device, and also in production.
Really hoping to get some pointers, where/how to debug this kind of a problem. I’ve checked the system logs and cannot find anything there either.
Just ran into this myself, and eventually figured it out: you probably have more than one instance of the app (with that bundle ID) on your machine, and the push notification service is trying to spin up the wrong binary to deliver the notifications.
Since Catalyst apps get nuked if they try to open multiple instances, this background launch kills the app you're running in the debugger.
In my case, I had the App Store version of the app installed in /Applications (before I started adding CloudKit), and my current dev binary in my Xcode build root.
Hope that helps!

"Over The Air" iOS App won't be complete download

I've been trying to release a new version of some iOS App (developed with React Native) through the "Over The Air" way. I do have an Entreprise account. Also, I've done this before with the same App. It is the first time this fails.
The download of the app stops and looks like
I've been investigating a lot and here are some informations I can give:
XCode: 10.1
React Native: 0.57.5
Deployment Target: 9.3
I recreated my certificate & provisioning profile. My signing profile looks like which looks valid to me.
I'm downloading the app via a normal web page and the download link looks like this:
<a href="itms-services://?action=download-manifest&url=https://example.com/path/to/the/manifest.plist">
Download iOS
</a>
I'd like to release a build with an App Thinning All compatible device variants. The manifest looks normal to me but there is something that I question myself with. Prior to this release, in the manifest, the generated binaries looked like this: MyApp-iPhone%207%20Plus-etc.ipa. Now, since I updated XCode (from 10 to 10.1 if my memories are good) they look like this: MyApp-0AB530E1-7309-4293-B4B6-C0AD90662766.ipa.
I also verified the App URL, the Display Image URL and the Full Size Image URL and the three of them are valid.
Finally I checked the logs during the failing installation by going into Window -> Devices and Simulators -> Open Console -> Errors and Failures. Here are all the logs I could get telling me the installation failed. I've donc a couple research on Google but couldn't find nothing.
[PlaceholderUtility]: Failed artwork for bundleID: My.Bundle.Identifier error: Error Domain=SSErrorDomain Code=3 "Connexion à l’iTunes Store impossible" UserInfo={NSLocalizedDescription=Connexion à l’iTunes Store impossible}
[PlaceholderUtility]: Failed to load placeholder artwork for bundleID: My.Bundle.Identifier error: Error Domain=SSErrorDomain Code=3 "Connexion à l’iTunes Store impossible" UserInfo={NSLocalizedDescription=Connexion à l’iTunes Store impossible}
[ODRBackgroundMaintenance]: Cancelling maintenance operations.
[ODRLaunchServicesObserver]: Application My.Bundle.Identifier is invalid, ignoring the install notification from LaunchServicesLaunchServices reports My.Bundle.Identifier is not installed
Cannot generate canonicalExecutablePath for app <private> with no bundleExecutable set
LaunchServices reports My.Bundle.Identifier is not installed
asked question: p = <private>, q = <private>, e = 9 [<private>]
7 lines of: LaunchServices observer: Apps Failed be installed: <private>
Installation failed for <private>
8 lines of: LaunchServices observer: Apps Failed be installed: <private>
Applications did fail to install: ("<LSApplicationProxy: 0x10f438230> My.Bundle.Identifier file:///private/var/containers/Bundle/Application/SOME_ID/MyApp.app <My.Bundle.Identifier <placeholder >:1>") (appInfos: (null))
LaunchServices observer: Apps Failed be installed: <private>
[LaunchServicesObserver]: Coordinator is already being observed: <IXInitiatingAppInstallCoordinator<0x100ef46f0> identifier:My.Bundle.Identifier uuid:SOME_UUID creator:App Store state:IXAppCoordinationStateErrorOccurred>
[CoordinatorStore]: <IXInitiatingAppInstallCoordinator<0x103e13ba0> identifier:My.Bundle.Identifier uuid:SOME_UUID creator:App Store state:IXAppCoordinationStateErrorOccurred> with UUID SOME_UUID was canceled with reason: Error Domain=IXUserPresentableErrorDomain Code=1 "This app could not be installed at this time." UserInfo={NSLocalizedDescription=This app could not be installed at this time., NSLocalizedFailureReason=Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.RAz5m2/extracted/Payload/MyApp.app : 0xe800801c (No code signature found.), NSLocalizedRecoverySuggestion=Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.RAz5m2/extracted/Payload/MyApp.app : 0xe800801c (No code signature found.), NSUnderlyingError=0x103eb7a90 {Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of /private/var/insta
!B21:My.Bundle.Identifier,J:-7761288138928876906#[<private>]: Fail temporarily for error: Error Domain=IXUserPresentableErrorDomain Code=1 UserInfo={NSLocalizedDescription=<private>, NSLocalizedFailureReason=<private>, NSLocalizedRecoverySuggestion=<private>, NSUnderlyingError=0x103eb7a90 {Error Domain=MIInstallerErrorDomain Code=13 UserInfo={NSLocalizedDescription=<private>, LegacyErrorString=<private>, SourceFileLine=199, LibMISErrorNumber=-402620388, FunctionName=<private>}}}
[ProgressCache]: No progress exists for: My.Bundle.Identifier trying to begin anyway
Thanks in advance for the help.
Feel free to ask me questions for some infos I might have forgotten
Downgrading to XCode 10.0 fixed it.
As mentionned in this question, it seems that there is an issue with XCode 10.1 for this kind of build

Xcode 9 iOS Simulator - Unable To Obtain Valid Process Handle

I have upgraded to Xcode 9, and the iOS Simulator for 10.3 and 11 are not working. All stock and my apps are force closing when trying to run.
Xcode Console errors like the following show when I try to run Calendar, Preferences etc. What does the "Unable to obtain valid process handle" mean?
Process handle (com.apple.Preferences, <BSProcessHandle: 0x7fe84552b8b0; Preferences:9270; valid: NO>) is invalid. Returning error {
BKSProcessExitReason = 0;
BKSProcessJobLabel = "UIKitApplication:com.apple.Preferences[0x90bf][6825]";
NSLocalizedFailureReason = "Unable to obtain valid process handle";
}
[com.apple.Preferences] Bootstrap failed with error: <NSError: 0x600000846c60; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Unable to obtain valid process handle">
Bootstrapping failed for <FBApplicationProcess: 0x7ffae944f990; com.apple.Preferences; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.apple.Preferences" UserInfo={NSLocalizedFailureReason=Unable to obtain valid process handle, BKSProcessExitReason=0, BSErrorCodeDescription=bootstrap-failed, BKSProcessJobLabel=UIKitApplication:com.apple.Preferences[0x90bf][6825], NSLocalizedDescription=Unable to bootstrap process with bundleID com.apple.Preferences}
Process handle (com.apple.mobilecal, <BSProcessHandle: 0x7fe845525860; MobileCal:9363; valid: NO>) is invalid. Returning error {
BKSProcessExitReason = 0;
BKSProcessJobLabel = "UIKitApplication:com.apple.mobilecal[0xf53][6825]";
NSLocalizedFailureReason = "Unable to obtain valid process handle";
}
[com.apple.mobilecal] Bootstrap failed with error: <NSError: 0x604000643ae0; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Unable to obtain valid process handle">
Bootstrapping failed for <FBApplicationProcess: 0x7ffaeb141220; com.apple.mobilecal; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.apple.mobilecal" UserInfo={NSLocalizedFailureReason=Unable to obtain valid process handle, BKSProcessExitReason=0, BSErrorCodeDescription=bootstrap-failed, BKSProcessJobLabel=UIKitApplication:com.apple.mobilecal[0xf53][6825], NSLocalizedDescription=Unable to bootstrap process with bundleID com.apple.mobilecal}
Unable to find framework using path: /System/Library/Frameworks/VideoSubscriberAccount.framework
I've tried it on iPhone X, iPhone 8/8+ and iPhone 6+ simulators with iOS 11 / 10.3.1, all with the same crashing result. If I try it on older iOS simulators such as iPhone 6+ iOS 9.2, then it runs fine.
If I try to launch it many times, i.e. 40 - 50 times for Safari or Calendar, sometimes that specific app may run, and once successfully ran, it'll remain so for the rest of the session (until I close the app at the task switcher, then same problem recurs). The same happens for my Xcode compiled app too.
My iMac 2009 has been running El Capitan and Xcode 8 fine all the while, and I just upgraded to High Sierra with Xcode 9.
I tried Xcode 9.1 Beta, but same problems persisted.
Please help, thanks.
Thanks to #russbishop's suggestion of disabling 3rd party kernel extensions, I have found the culprit — One Periodic's Hands Off Firewall!
I unloaded the kext with this command:
kextunload -b com.metakine.handsoff.driver
And immediately all the stock apps in iOS Simulator can start perfectly fine. Note that you must unload the kext. Simply disabling the rules in Hands Off does not fix the problem.
However, I cannot "kextload" back the Hands Off driver once I am done to reactivate the firewall. A system reboot is needed.
I have reported this issue to Hands Off as well, and hopefully see a fix in the next release.
Thanks #JeremyHuddlestonSequoia for helping with the diagnosis too.

Does XCode iOS Simulator require internet access?

I am trying to build an iPhone application in Xcode 6.1, however the code was delivered from an external company.
For security reasons, the test server that the application is (supposed to be) talking to is on a separate network which does not have internet access.
When I build and run the app on the simulator with this network, there is an error thrown (on the app) almost immediately and the app doesn't run.
When I build the app using a network with internet access, the app starts successfully - but obviously can't reach the destination server.
The company are INSISTING that internet access is required to validate my iOS provisioning profile...whereas I am pretty sure its something in the app.
Is internet access REQUIRED to build and run an application on the simulator from XCode?
I think this is the error...but I'm a C#/Windows guy who knows v. little about XCode!
Pretty sure this is an error thrown by the application and not the emulator.
*********************************** Server Response END FAI BLO******************************
2014-11-12 14:33:04.019 FCiOS12P2[11017:60b] **** error is :Error Domain=KFCRMSErrorDomaininResourceUpdate Code=3126 "The operation couldn’t be completed. (KFCRMSErrorDomaininResourceUpdate error 3126.)"
2014-11-12 14:33:04.020 FCiOS12P2[11017:60b] Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator" UserInfo=0x7978acd0 {NSLocalizedDescription=remote notifications are not supported in the simulator}
2014-11-12 14:33:09.059 FCiOS12P2[11017:60b] FCAlertView: FCAlertOverlayWindow dealloc
2014-11-12 14:33:09.060 FCiOS12P2[11017:60b] FCAlertView: FCAlertViewController dealloc
2014-11-12 14:34:29.706 FCiOS12P2[11017:60b] Reachability Flag Status: -R -----l- networkStatusForFlags
2014-11-12 14:34:29.707 FCiOS12P2[11017:60b] -[NetworkStatusManager checkNetworkStatus:] [Line 89] The internet is working via WIFI.
You don't need a provisioning profile to use the iPad simulator, and you don't need internet access to use the iPad simulator.
This line Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator"
Should mean that your app uses push notification but you can't get the token on the simluator.
Anyways the answer is NO, you don't need internet access to run app on the iPad simulator
The application you are dealing with uses microsoft RD client? It has recently been updated to 8.1.0.The error you are facing in URL not recognized.This will not work on simulator.There is a bug on wifi desktop application using this client are working if connected to LAN
If its about RD 8.1.0 client you cannot solve it wait for update
debug on device .

mobileconfig file adding access to location services

We have an Enterprise app which needs to use Core Location. Our Ipad which will be distributed to our employees has some built in apps successfully "locked" out for certain apps, like Safari and Camera, et al. We do allow other built in apps such as mail and contacts and maps which is my problem at the moment. The Maps will load but it shows only a blank grid. No Map and location manager fails as shown in the error below.
Some one else create the profile and made the changes to the iPad. This person is unreachable and I have been given the challenge to fix it. I'm guessing it has something to do with the mobileconfig file because when I deleted it from a test iPad, all was well. I need to update the mobileconfig file but have no idea what to do to allow location updates. We do have a specific server we connect to, but like I said it works on the test iPad that does not have the mobileConfig profile installed. Please HELP!
Thanks
The message I get is:
Nov 6 11:45:23 iPad locationd[40] : PBRequester failed with Error Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo=0x1d687fc0 {NSErrorFailingURLStringKey=https://gs-loc.apple.com/clls/wloc, NSErrorFailingURLKey=https://gs-loc.apple.com/clls/wloc, NSLocalizedDescription=Could not connect to the server., NSUnderlyingError=0x1d67c020 "Could not connect to the server."}
Nov 6 11:45:23 iPad locationd[40] : NETWORK: no response from server, reachability, 2, queryRetries, 2
Nov 6 11:45:37 iPad Aerobics[117] : location manager failed with location: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
Turns out the new .mobileconfig profile was not the cause, or it was but not directly. I needed to logon to our server and establish connection with location manager, then logon to our private server and do it again which included a compass error but fixed that by waving the ipad around - lol. Spent a full day trying to resolve this so I hope it helps someone.
Thanks to all who looked into my issue.

Resources