SwiftUI - preview stopped working on one specific device - swiftui

I was using the iPhone 11 preview until I made some changes to CoreData - now I'm getting a persistent store migration error. If I switch to a different preview profile, everything works as expected.
My question is, how do I reset the iPhone 11 profile? In the simulator I would just erase the app and start over. But I'm not sure how to do that with Canvas. Thanks!

I finally came across the solution, thanks to #Monica Granbois.
First delete:
~/Library/Developer/Xcode/UserData/Previews/Simulator Devices/
Then run this line at the terminal:
killall -9 com.apple.CoreSimulator.CoreSimulatorService

In my case that was a simulator iOS version which was causing a problem. My simulators was using version 13, 13.7 and 15.x. I had the problem only under 13.x and not under 15.x

Related

Xcode 11.1 SwiftUI Preview failing

I receive this error whenever I try to preview a freshly created swiftui view.
messageRepliedWithError("Connecting to launched interactive agent 9297", Optional(Error Domain=com.apple.dt.ultraviolet.service Code=17 "connectToPreviewHost: Failed to connect to 9297: Error Domain=com.apple.dt.ProcessAttachUtilities Code=3 "Target process 9297 exited prematurely, likely crashed" UserInfo={NSLocalizedDescription=Target process 9297 exited prematurely, likely crashed}" UserInfo={NSLocalizedDescription=connectToPreviewHost: Failed to connect to 9297: Error Domain=com.apple.dt.ProcessAttachUtilities Code=3 "Target process 9297 exited prematurely, likely crashed" UserInfo={NSLocalizedDescription=Target process 9297 exited prematurely, likely crashed}}))
I have no idea how to fix this so I can see previews again. I am on the latest Catalina 10.15.1
I found the Preview Canvas to be extremely buggy as well. Or maybe swiftUI code has a lot of undesired side effects.
In many occasions I found that Clean Build Folder, then kill Xcode, start Xcode, do a full Build may (sometimes) fix the problems. Until I make a tiny change somewhere... Then the whole circus starst again.
In practice this is very time consuming and basically unworkable. I found it more efficient to not use the preview canvas at all and just run the code. It is quicker, more reliable and in the end saves lots of time and frustration.
At the same time I think it is a bit of a shame on Apple. Most frustrating of all (for me at least) is that documentation is virtually non existing. It is all trial and error. Mostly error.
In short: my experience is that it is better not to use swiftUI Previews for anything beyond the very basic (yet).
I had the same problem with mine, I went through a couple of steps, so I will mention everything I did hopefully it helps someone.
But it's worth mentioning that I think the error was caused by Xcode trying to connect to the preview which failed all the time, because I was using an iPhone 8 preview.
Also I was able to use iPhone 8 preview after a while again. This looks like a buggy Xcode.
Steps.
1. Clean build folder and your derived data.
2. Close XCode Completely.
**Key Step. Open Xcode again and change your preview to iPhone XS or iPhone 11.
See the image below.
I had same issue. It was very confusing. I am using FirebaseFirestore pod in my podfile and when I remove FirebaseApp.configure() from AppDelegate didFinishLaunchingWithOptions function preview works.
I have done this 10 times just to make sure that this is an issue, and it was issue for me. So probably any code from Firbase added in that function was problem for me.
So, by checking logs I came across this error:
Crashed Thread: 3 Dispatch queue: com.google.GDTCORFlatFileStorage
Also googling I came across those bugs:
https://github.com/firebase/firebase-ios-sdk/issues/5707
https://github.com/firebase/firebase-ios-sdk/issues/5708
Turning off the thread sanitizer worked for me (I was just playing around with settings against another project that worked), so there's one more thing to try...

Can't use the Virtual Stick even though isVirtualStickControlModeAvailable returns true

I am having a problem with the virtual sticks, the following is the problem.
The Virtual sticks fire the notification, the listener sends the proper values to the roll, pitch, yaw and throttle, the isVirtualStickControlModeAvailable method from the sdk returns true, when it returns true I use the command from the flight controller send which returns the completion error nil, which means I can not do anything else from there, actually I do not need to do anything else. The virtual Sticks are working in a timer as the sample simulator from DJI.
What can I do in my app?
- Take off
- Land
- Give control back and forward to the RC
None of the list above brings me errors, including the process of the virtualStick.
What else did I try?
- Run the sample simulator app from DJI, linked above.
- Run the sample app on Android
- Run using the Bridge APP (Thats how i know the values are being passed correctly, even though i added labels on screen to debug without the Bridge APP)
- Update firmware from the aircraft and RC to the latest
- Sample simulator IOS
- Went back to previous working commits and branches on git
None of the things I have tried above worked.
Curious Stuf:
- The virtual Sticks worked fine till Yesterday, and before yesterday, in many diferent branches and commits in multiple branches.
- Reseting the Remote control, Executing Manual Linking and Linking through the DJI Official APP, and clearing the cache, memory sdcard made it work on Simulator Assistent DJI (Latest version) with a lot of interference, in the Sample apps on Android and IOS, and on my Swift 3 application. Then it had some interference, I tested outside on the real Aircraft, it was working beautifully.
- Today, the same thing happens. Already did the whole testing above mentioned, the Android sample apps, IOS Sample Apps, the Simulator, Bridge, My application, Reset remote etc. And it does not work.
I would be really glad if someone could point me out the problem.
On this thread I explain partially the problem and what I have tried. http://forum.dev.dji.com/forum.php?mod=viewthread&tid=32729
Already sent an email to DJI support, still no answer.
Aircraft: Phanton 4.
I have found the problem, it was the aircraft, I could get hands in a new aircraft, just pluged to the new RC linked to the new Aircraft, it worked with no problem.
Then I tested the new RC linking to the old aircraft, It did not work, then the Old RC with linked to the new Aircraft, it worked.
Glad you found the fix.
It might be worth it to update the firmware of the old aircraft.
You can do so using the DJIGo app or DJI Assistant software for desktop.

virtual machines virtualbox disappear

Today I opened my VB and discovered that all of my seven VM have disappeared.
I tried to import one old VM but I saw that error message:
Could not create the imported medium 'C:\Users\michele\VirtualBox VMs\Magento Ultimo\Magento Ultimo-disk1_2.vmdk'.
VMDK: could not create new file 'C:\Users\michele\VirtualBox VMs\Magento Ultimo/Magento Ultimo-disk1_2.vmdk' (VERR_ALREADY_EXISTS).
Result Code:
VBOX_E_FILE_ERROR (0x80BB0004)
Component:
ApplianceWrap
Interface:
IAppliance {8398f026-4add-4474-5bc3-2f9f2140b23e}
I am using Windows 10 64 bit .... may someone help me?
Thanks.
PS: I am not an IT expert so I don't know how to solve it...
Ok solved... Inside the UI of VirtualBox i clicked Machines>add .... however it's very strange that they disappeared.
launch Oracle Virtualbox as admin and you will see all created VM's. Hope this helps.
I know that the case is resolved, but I want to add why it occurs. It happens when you install Virtual Box and machines as admin, and later run VB as normal user (or just different user). The program by default looks for machines in the given user folder.

GDK picture intent gets stuck on Tap to accept

Today the picture function on my Glass app stopped working. It was fine yesterday, but now it gets stuck on the Tap to Accept Picture. I think it may have something to do with the new (to me at least) way it handles pictures as well as the viewfinder. What I can find on the glass developers site is deprecated and doesn't work. My hope/belief is that the new idea is for the intent to go to the viewfinder and then take the picture. I'd prefer to still use the glass method, but I am aware of the android API camera method. Here's the code
startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), REQUEST_PIC);
and in onActivityResult
switch(requestCode)
{
case REQUEST_PIC:
String picturePath = data.getStringExtra(Intents.EXTRA_PICTURE_FILE_PATH);
processPictureWhenReady(picturePath);
break;
}
I have got the same problem since upgraded to XE18.3. Instead of spending time to look for a workaround, I've implemented the preview mode with SurfaceView. You could access the camera directly with Camera.Open(), the sample codes can be found at: (search for "camerasample.zip" in the page)
https://code.google.com/p/google-glass-api/issues/detail?id=351
Hope this helps.
This is a problem being experienced after the XE18.3 update. It has been logged in the google-glass-api issue tracker here.
You can try downgrading the firmware as mentioned in the comments, but be sure to note that doing that voids your warranty.
I have the same issue happening to me as well, however if you plug Glass into your computer that is running Eclipse and the adb is running the Intent will complete successfully. This is not a solution but hopefully it'll keep you from getting behind in work until there is an answer available.

Marmalade SDK Simulator error: Couldn't initialize Direct Draw

I have been working with marmalade for some weeks. But since today my simulator is not working anymore. I always get "error: Couldn't initialize Direct Draw" when i launch the simulator.
I tried uninstalling marmalade and restarting pc but nothing is helping.
Anyone has an idea what this can be, or things I can try?
Error message can be seen:
PC specs if this might help:
- Acer Aspire notebook
- Windows 7 Home Premium SP1 64bit
- Intel i5 2410M
- 6GB RAM
- AMD HD 6650M 1GB
For anyone who may come across this, the same thing happened to me just yesterday. I started getting the "Couldn't initialize Direct Draw" on startup after having made a few changes under Preferences -> Display.
I fixed it by going to C:\Users\{user}\AppData\Roaming\Marmalade\ and deleting (or renaming) the preferences.icf file. This isn't removed after an uninstall, so if you find yourself in this situation, this seems to be the only way to reset everything.
Good luck!
A couple of things to try.
First, try running your program from inside Visual C++ by pressing and holding F5. This will cause the simulator to start but won't start executing your program, which might then give you a chance to change the settings in the simulator.
Failing that, if you look in the data directory you should find a file called development.icf which is the current simulator settings. Try deleting this and running again which will cause the simulator to revert to its default settings.