iOS 8 custom keyboard crash when debugging - ios

Issue
Most times, when I try to debug my custom keyboard extension, I receive the following error and then the keyboard disappears (presumably crashes, so the system removes it from screen and replaces it with the standard keyboard)
plugin com.db.Trype.TrypeKeyboard interrupted
(Note: Trype is the name of my keyboard.)
Process
I am debugging the keyboard the following way:
I have the keyboard extension as a target.
I've modified the TrypeKeyboard scheme to run my app executable on launch.
The keyboard has been added in the Simulator's Settings App.
I've tried different version of Xcode-Beta and tried restarting the simulator, computer, etc., all to a varying degree of temporary success.
Anyone else run into this error and have a suggestion?
Update:
Here is an accompanying error message. Maybe there is some way to print out more of the UserInfo?
viewServiceDidTerminateWithError:: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3
"The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)"
UserInfo=0x7fc99c900a50 {Message=Service Connection Interrupted}

After messing around with it some more, I'm beginning to conclude this is an iOS 8/Xcode bug with the way that extensions are debugged.
Xcode sometimes seems to build project and install multiple versions of the extension keyboard into the iOS simulator. It also occasionally kills the extension and reloads it. Very strange behavior. Just sitting and staring at the debugging sidebar shows it get killed (disappear) and then relaunch.
The first is a successful launch.
The second is an unsuccessful launch where the extension appears to hang and wait to attach.

Related

Xcode 9 crashing when running split view app on iPhone

After working just fine on both iPhone and iPad for a month, my Xcode 9 app has consistently started crashing causing me the following fatal problem: When I build & run it on an iPhone (simulator or device) Xcode completes loading the app and then crashes too fast for me to copy/paste the error from the debugger. When I run on iPad it works fine leading me to believe this is a result of something related to the split master/detail view.
If I use either an exception breakpoint or an "all C++ exceptions" it will stop at the AppDelegate class and crash if I hit play. If I use only an "all Objective-C exceptions" it will crash as before.
In the debug view hierarchy I get the following errors as well:
Error: Unable to capture view hierarchy.
Details: Log Title: Data source expression execution failure.
Log Details: error evaluating expression “(id)
[[(Class)objc_getClass("DBGTargetHub") sharedHub]
performRequestWithRequestInBase64:#"...
Log Method: -[DBGDataSourceConnectionLibViewDebugger
_executeLLDBExpression:forRequest:onPotentialThread:iteration:]
_block_invoke_2
Method: -[DBGViewDebugger updateDebugHierarchy]_block_invoke_2
I have tested other apps and this issue is unique to the app I am working on. Any ideas or debugging tips for how to proceed? I might just have to redo this whole project again if I can't even find the root cause of this! Appreciate any help.
Quick solution: Reset Simulator Device
I managed to resolve the above issue thanks to some serious digging. First, to resolve the instantaneous crash problem, I set a breakpoint at every line in the app delegate. That allowed me to narrow the error to a memory handling problem. From there I started running the code on one of each device available, and realized the crash only occurred on devices I had used earlier in development. Resetting those devices solved the problem.
The core issue here is that when you clean/rebuild your xcode program, it updates the app code on the device, but not necessarily the data model information. So when I changed my data model by including new data and renaming old data it was not properly updated.

Swift keyboard extension SIGQUIT, Execution was interrupted, reason: EXC_BREAKPOINT

When I try to build and run my keyboard extension, it sometimes just crashes with a Thread 1: signal SIGQUIT.
I am not able to reproduce the error. Sometimes I can build and run my app but most of the time the keyboard just quits. This happens on an actual device. In the simulator it does not open my keyboard and says Waiting to Attach.
The console does not output any errors at first. However, if I change the dropdown to View UI Hierachy in the Debug navigator I get the following description:
Details: No plist data for fetching view hierarchy: error evaluating expression “(id)[(Class)objc_getClass("DBGViewDebuggerSupport_iOS") fetchViewHierarchyWithOptions:(id)[(Class)objc_getClass("NSDictionary") dictionaryWithObjects:(id)[(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:(id)[(Class)objc_getClass("NSNumber") numberWithBool:1]] arrayByAddingObject:(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:#"_UIVisualEffectBackdropView"] arrayByAddingObject:#"_UIBackdropEffectView"]] arrayByAddingObject:(id)[(Class)objc_getClass("NSNumber") numberWithBool:0]] forKeys:(id)[(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:#"DBGViewDebuggerUseLayersAsSnapshots"] arrayByAddingObject:#"DBGViewDebuggerEffectViewsToSnapshotAsImage"] arrayByAddingObject:#"DBGViewDebuggerAlwaysEncodeLayers"]]]”: error: Execution was interrupted, reason: EXC_BREAKPOINT (code=1, subcode=0x18daddc34).
The process has been returned to the state before expression evaluation.
Method: -[DBGAbstractViewDescriber handleFetchedViewInfo:fetchError:resultHandler:]
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
I also took a screenshot of the processes.
Am I doing something wrong and how could I prevent that my keyboard extension quits all the time when running it? Is it actually a bug as it says in the description?
DISCLAIMER
It seems like something in xCode 8.2.1 is broken and the debugger is not correctly attaching to the correct process or the hosting process is not properly loading the new code.
This is a not a permanent solution but a temporary workaround.
WORKAROUND
I have been able to work around this issue by following the steps below.
Kill any process that is using your keyboard (important!)
Launch the application using the debugger so the latest code is deployed to the device
Navigate to Settings > General > Keyboards > etc.
Remove your custom keyboard
Re-add your custom keyboard
Debug the application once again
The reason this works is because removing the keyboard kills the process that is hosting the extension allowing Xcode to attach to the new binary.
As I understand this is a bug in Xcode 8.2.1. because before update my custom keyboard was working very well.
this is a temporary solution.
Run your code like always!
Bring up your keyboard until the error (SIGQUIT) appear!
Goto xcode > debug > detach
Goto again Xcode > debug > Attach to Process: attach the keyboard (it should be first process)
now, your breakpoints will work. but there are no log output unfortunately! I hope it temporary solve your problem

Error while running my first IOS app on Xcode

I just created my new iOS project as a single view app and tried running it with no codes added, but there appears just a blank black window in the iOS simulator, and it generates the below error:
"The operation couldn't be completed. (Mach error -308 -(ipc/mig)server died)"
Have a look at this question:
Swift Playground and Simulator Error (ipc/mig) server died, Unable to boot the iOS Simulator
Hopefully that will help you too.

Custom Keyboard: Hub connection error

recently I was playing around with the custom keyboard extension in iOS 8 Beta with Swift (Xcode beta 6), but I keep getting this error when I run it on a simulator, it seems to be quite random and I've no idea what causes it:
plugin com.name.app.extensionName interrupted
Hub connection error Error Domain=NSCocoaErrorDomain Code=4097 "The operation couldn’t be completed. (Cocoa error 4097.)" (connection to service named com.name.app.extensionName) UserInfo=0x7b087720 {NSDebugDescription=connection to service named com.name.app.extensionName}
I have no idea what to do. I can't test the app on a real device at the moment, therefore I'm stuck here. It happens on all types of simulators, I already reset them and restarted Xcode and my computer.
I hope you can give me any advice or maybe even know a fix!
I had this problem in Today Extension written in Objective-C. After updating to XCode 6.0.1 and building my project it started saying about missing ARM64 Architecture. When added arm64 it started working well. Try to play with it
I tried a variety of things to resolve this and ultimately what fixed it was "cleaning" my application (on the "Product" menu). I don't know what that really does, but I "cleaned" it, then restarted the simulator and suddenly everything is working again.

Swift Playground and Simulator Error (ipc/mig) server died, Unable to boot the iOS Simulator

When I try to do anything in Playground, this pops up before I even finish typing a word.
Error running playground.
Failed to launch iOS stub for playground: The operation couldn’t be completed. (Mach error -308 - (ipc/mig) server died).
and when I just try to run IOS Simulator I get the following error
Unable to boot the iOS Simulator.
oh and this error just popped up
An error was encountered while running (Domain = DTiPhoneSimulatorErrorDomain, Code = 2)
I tried rebooting, I closed out and opened again, I deselected file and reselected. Just keeps happening. Anyone have a solution?
Your firewall is blocking the debugger, you need to allow it to connect:
TCP out 127.0.0.1:63748
Or allow the debugserver process open access (whichever you, or your firewall, prefer(s)).
Upon enabling it, and restarting Xcode everything should work like a charm.
Note/Update:
If you're having trouble finding, or allowing, the debugserver simply try, temporarily, disabling your firewall and restart xcode. Does the playground work? Oh, and don't forget to make sure you've got the assistant view open and the output box showing.
Currently the Xcode 6 beta needs to reside in \Applications for the playground and simulator to work. After you move it there you need to reboot.
This error popped up for me when I closed the simulator before Xcode finished attaching my application to it. Opening the simulator and running the app again solved this problem.

Resources