"Capture GPU Frame" issues in Xcode 8.3.2 - ios

I am using Xcode, V-8.3.2. I have got 2 devices:
iPhone 6. (iOS 10.3.2)
iPhone 7. (iOS 10.3.2)
I am trying to profile GPU usage for OpenGLES 3.0 based app (C++) I am working on. The first device, when I press "Capture GPU Frame" , tries to perform the capture, then after a few seconds Xcode pops up the following notifications:
Replayer terminated unexpectedly with error code 5.Please report the
frame capture file then file a radar
Timed out (5)
When I try to debug the same app on the second device, The "Capture GPU frame" menu is disabled (non clickable). Also no "FPS" gauge is shown in the debug panel on the left in the Xcode window. This one I solved with restart of the Mac.
The app runs fine, no crashes. Before I upgraded to the latest Xcode, the GPU frame capture worked fine for the first device. The iPhone 7 - I have no idea, because I didn't have this one before. I tried to read possible solution to the first problem on Apple Developer forums. Quite a few people reported that "timed out(5)" capture error, but I found no solution.
Some people suggest to downgrade to iOS prior to 10.3. I tried to reset the device to factory settings, and it doesn't reset to the iOS version older than 10.3.2, which is the newest one.

I have seen this issue with Xcode 10.2 and an iPhone SE (iOS 12.2) when executing compute kernels.
In my case, the issue was only related to single pass compute kernels, when tested with running video frames, the Frame Debugger works normally.
Unfortunately, I don't have a fix but I did stumble on a work around for my configuration: If I press the Home Button on the phone during the capture process, Xcode will enter the frame debugger as expected.
This only works if I press Home while Xcode displays
"Capturing GPU Frame: 1 command buffer captured".
If I press Home while Xcode displays
"Capturing GPU Frame: Replaying Frame",
then I still get the behaviour described in the OP.

Related

iOS Simulator does not refresh correctly

I try to simulate a very very simple application which I have created in Xcode 9. I try to simulate it in the iOS Simulator in an iPhone6 with iOS 11.2. I have also tested other devices with the same result.
On a real device, the app works as expected. But on the simulator it doesn't.
I expect, that the button will become orange after I have clicked on it. and the emoji should disappear. Instead it changes into some strange "shadowed" look. If I wait then, the button will sometimes turn its background to orange after around 30 seconds.
I have recorded a gif, to illustrate the problem.
http://www.giphy.com/gifs/l4pSUuBtN7aBVvbVe
UPDATE:
Here is another GIF: http://www.giphy.com/gifs/26DNe5B0vxIO6pHiw
The button gets refreshed, as soon as i drag down the info center.
Development machine: Mac mini 2011, i5, SSD, 8GB RAM, high Sierra
hope someone can help me.
UPDATE: 15.02.18
The problem only appears with iOS versions beginning from 10 and up.
With iOS Version 9.0 there is no problem. Expect that there arent any emojis...
In the meantime, i have filed a bug report to apple. But i think there will be no response on that.
Looks that others having the same problem: https://forums.developer.apple.com/thread/96511
iOS 13 UPDATE: Use the Hardware > Toggle In-call Status Bar option for all devices with iOS 13 or higher. The activity indicator is gone for all devices. Fortunately, the in-call status bar no longer changes the layout size.
--
I have finally found a working workaround for this!
For simulators without the notch, set this when you launch the app:
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
Swift 4.1:
UIApplication.shared.isNetworkActivityIndicatorVisible = true
and never set it back to NO. This will show the little loading indicator in statusbar, which will keep the simulator constantly active and will solve your issue.
Just don't forget to make sure you will not use it in the production configuration.
Simulators with the notch in the status bar (iPhone X) don't show the activity indicator, but you can use Hardware > Toggle In-call Status Bar, because the in-call icon is animating and will also keep the screen active.
Found a workaround here (after looking at your link to Apple forum):
https://forums.developer.apple.com/thread/88446
In Terminal:
If you have a discrete GPU in the system (eg: MBP 15" with Radeon HD 6750M):
defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferPerformanceHint 2
If you do NOT have a discrete GPU in the system (eg: MBP 13" or MacMini)
defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferEmulationHint 1
To be sure, try both options. First option helped me (although I have MBP 13" Early 2011).
I had the same problem of simulator not updating the changes from database.
You might have problem with caches, the simulators might need resetting.
Try quitting iPhone Simulator, then run xcrun in Terminal:
xcrun simctl erase all

Xcode 9 GM seed Simulator Screen Artefacts

I have simulator screen problems, after installment of last beta, it's happen randomly, when i build any project, usually on 3-4 time, when i hit play. Have to quit Simulator Application, and start it again.
Anyone have same issue ?
Screenshot:
It seems that Metal is the default renderer for the new simulator and some of the older Apple devices do not support it :
Mac computers that support Metal
For example, I have a mid 2011 Mac-mini and had to switch it to OpenGL to get the simulator working (as suggested by #Jeremy Huddleston Sequoia)

iOS Simulator takes extremely long time to boot first time

I'm trying to run an iOS simulator (Xcode 7.0.1, OS X Yosemite). However, the first time I run the simulator, it takes a very long time to boot up (80-120 seconds), which is causing my automation testing to time out. If I close the simulator and re-launch the same one, it will boot up in about 5-8 seconds. Launching a different device will cause the long boot up time again.
I have tried resetting the content and settings of the simulator, deleting and re-downloading simulators, and uninstalling and reinstalling Xcode.
This machine is a Parallels Desktop VM running on a 2012 Mac Mini. While I do not believe this to be a resource issue (the simulator runs just fine with the second launch), I have tried increasing ram and video memory to the VM with no success.
Had the same issue after updating to Xcode 7 on my iMac (late 2013). And yesterday I've succeeded to resolve it by doing 2 steps (unfortunately, I don't know which did really help):
I had Xcode 6 installed side by side with Xcode 7. So I've deleted Xcode 6 instance.
Open Xcode 7, go to Window -> Devices and delete all listed iOS simulators you have there. Close & re-start Xcode. Go to Window -> Devices again and add only simulators you need (in my case I've added iPhone 6 iOS 8, iPhone 6s iOS 9, iPad Air 2 iOS 9). You can add more simulators later on as you need them. Also, not sure if this is critical, I've selected no paired watchOS device for simulators I've added.
After completing these steps, my simulator cold start was significantly imporoved - it takes now like 30-40seconds max for a cold start. Before that it was 3-4minutes and first debugger attach attempt always failed.
Hope, this will be helpful for somebody.
My solution so far has been to pre-boot the Simulator prior to needing it for automation. I consider this somewhat hackish, but it does get the job done.
xcrun instruments -w "Simulator Name Here"
sleep 120
This will launch the simulator, then sleep for a couple minutes before proceeding on to whatever else you need the simulator for.
At first boot, the sim device will go through initial setup just like a real device. Taking 2 minutes is quite a long time on modern systems but not that unheard of, especially if you're not on an SSD. I suggest you watch the sim device's system.log to see what tasks are occurring during the boot process and keep an eye out for any errors that might indicate what is going wrong.
I tried to run the iPhone6S simulator on my Macbook Air, and it just hung at the game center login screen. It hung for 10 minutes. I had 50% scale on the simulator window. Then I tried to reduce the scale even more, and immediately it passed the GC login screen.
My guess is that my little Air has don't have time to do anything else but updating the simulator screen at high scales, and when I reduced the scale it had time to bother with the game center login functionality. My simulator widow is the size of a stamp now. :)
Puh. I've had this simulator problem for weeks...

iOS 8.3 Metal halt and crash

After upgrading to iOS 8.3 SDK in Xcode and on device. My applications involved metal are not working properly. Metal are used for obj file visualization and for GPU computing. My applications halt for several seconds then crashed. I noticed that in Xcode console shows "Metal GPU Frame Capture Enabled", which doesn't appear before. Is this caused problem? If so is there anyway to turn off this functionality in iOS 8.3?
Unless not connected to Xcode, I haven't been able to run any Metal apps, with GPU frame capture turned on, with iOS 8.3. Here's how you disable it:
https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Dev-Technique/Dev-Technique.html

Unity 5.0.1p1 with vuforia 4.0.105 and ios 8.3 crash

I am trying to build Xcode 6.3 my unity app on my iPad which runs iOS 8.3 . Unfortunately it crashes after the splashscreen. The only response or error I am getting is this one:
Could not launch "appname": process launch failed: failed to get the task for process 896
The number "896" is never the same.
When I build it on my iPhone, which runs iOS 8.0 it works fine.
Is it possible that this is a Vuforia issue or is it unity 5 ?
EDIT: I started with a scene that has no vuforia elements in it. Now my app starts. But when I open a scene with vuforia I get a black screen like the camera can't start or something. BUT, the tracking works, it seems like the framerate is very very low, like 1 frame a second.
this thread is a little bit older, but maybe other people are searching for a fix to the black screen issue:
The black screen issue affects currently Unity 5.0 - 5.1 and Vuforia 4.x.
Currently Vuforia seems to have problems with the iOS Metal API (which is auto selected on x64 device), to fix this issue:
In Unity goto "Build settings -> iOS" and click "Player Settings".
Now the Player Settings Panel should be opened on the right side.
Select the Tab "Other Settings" and set the option "Graphics API" to "Open GL ES 2.0".
This fixes the black screen issue for me on Mac OS 10.10 + Unity 5.x.
Hope that helps someone ;)

Resources