AVCaptureSession bug persists between installs - ios

I have a app that opens straight to a camera that is based on this WWDC sample: https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html
A few users have been experiencing a bug where the camera does not turn on and does not allow them to capture content.
I just ran into the same issue last night and this is what I observed:
I was debugging a separate issue and the camera was working 100% ok, then all of a sudden, it stopped working.
Every time I would open the app or navigate back to the camera, it would show a dark view of whatever it was currently pointing at, but the image was frozen. Its like it worked for 1 second, then the capture preview would freeze.
I tried force closing and reopening, same problem.
I tried uninstalling and reinstalling, same problem.
I then restarted my phone and the issue was solved.
How is it possible that this bug persists between separate installs?
Does anyone know what might be causing the camera to fail?
How should I go about debugging it if it only occurred once after months of using it and I have no idea what triggers it?

Are you running iOS 9?
That might be an iOS 9 software internal bug.
I had exactly the same non-reproducible issues but with MapKit's map view rendering.
In my case map view was showing just rectangle grid without any map objects - no streets, lakes, rivers, etc.
I've tried to google over internet to find potential reason of such weird issue, but without any luck. Then I've restarted device and that helped, the same as in your case.
Sure, my info is not a full answer, just want to share my experience.

Your process does not have direct access to the camera hardware, but rather through a device manager. It is the state of that manager that determines if things will work.
To confirm, when your app is experiencing issues, kill it then open the default Camera app. If it shows a blank or still frame preview, then you know it's not necessarily a problem in your app.

Related

iOS Request permission dialog not showing on screen recording or quicktime video

Does anyone know when the App Store started requiring the app previews to be on a physical device and show this pop-up?
Even when I mirror my iPhone Xs to my Mac, the pop-up does not show. If no pop-up on video, app store rejects app preview.
Anyone know of a better way to get around this issue?
Another image that shows issue:
This pop-up NEVER shows on screen recording or mirroring....
We have same problem. You have two options:
You can record the screen from another mobile or camera
You can use a previous iOS. We have checked that permission dialog can be screen recorded with iOS12
What was your solution?
Yes,  has been steadily, over the past 3'ish years or so, working on removing certain system sensitive controls from being displayed in that feed. My guess it's for $SEKURITY reasons, though it doesn't completely make sense, to me, what would be the attack vector that it attempts to prevent.
The location dialog is not the only case I know that it hides. It originally started with them hiding even *** in the password text fields, and hiding the keyboard in such input, as well. Apparently it now expanded to location, and likely other system dialogs. 🤷‍♂️
Surprisingly few people seem to be discussing this.
I published an app last year (2021 / June) on 14.? which required the popup and it was accepted. Did this again with another app just after 15.? and I cannot get it past the apple store. Once they allowed me to post a video recording and I got it through, but since then ... no chance.
How are people getting their app through - I assume apple use the screen capture system to do their testing.
I had the same problem but my app was accepted.
Surely screen recording does not work, but screen capture does. I have embedded a screenshot of the permission dialog into a video and submitted it for app review.

Why is Electron app slow after inactivity?

I have an Electron app (running on a Mac) that waits in the background for a key press, before showing a window.
If I leave it in the background overnight and then use it, it will be very slow for the first 10 seconds or so. It seems like updating the DOM and inter-process communication are both slow. The delay isn't coming from my code, and it seems to affect the renderer process primarily. After the initial slowness, it starts working normally.
Is there any reason that an Electron app would do this? Is it getting unloaded from memory somehow?
What's odd is that the initial display of the window happens instantly; it's just after I start to do some inter-process communication that it slows down.
There are a few possible answers to this, but after spending countless hours figuring it out, I thought I'd share the one that worked for me.
I was showing an animated SVG when I put the app in the foreground, and hiding it when I put it in the background. Apparently this was queueing up animation frames even while hidden, and then un-queueing them when it was shown, causing the delay.
It was fixed by upgrading Electron from 8.5.5 to 9.0.0, which I believe upgraded Chromium from 80.0.3987.165 to 83.0.4103.64. Not sure what the exact fix was, but it worked.

Working fine on iPhone but crashing on ipad

I made an Ecommerce app for iPhone and iPad using objective c. The app is working fine on iPhone but crashing a lot on iPad. I am getting lot of memory warning on iPad. I tried different things to get it control but not getting any success. Apps has features like
As per user current location it shows the store on map view and list view.
During checking user can order as per his current location or can place an order for different location.
Add favorite product and favorite store
Can anyone suggest what I might be doing wrong or anything I should implement to get it fixed.
Use Instruments. That's actually the only device that anyone can give you. And of course be aware that if your app is in the background, crashing after a memory warning is quite normal and not something the user will even notice.

LibGDX displays black screen while app is paused but still visible (e.g. during in-app purchase password dialog) on iOS

I converted one of my apps over to LibGDX.
In the earlier version, when I launch an in-app purchase and iOS shows the dialog to ask the user for their password, my app would stay visible and running (animations would update) in the background behind the dialog.
After the switch to LibGDX (and no other changes regarding purchasing), the app now disappears and the background behind the password dialog is just black. Right before this happens, LibGDX reports [debug] IOSApplication: paused and right when my app comes back to life, I get the message [debug] IOSApplication: resumed.
Is there any way to have LibGDX keep updating my app's screen while it's paused (preferably only if it is still partially visible, though), or at least keep displaying the last drawn frame rather than switching to black?
PS: I have continuous rendering turned off.
I found a way to fix the problem: Get rid of LibGDX.
Here's how: https://stackoverflow.com/a/35094695/1217178
Disclaimer:Clearly this isn't a true answer to the original question, but unfortunately I don't have the time to go hunting for bugs in libGDX, especially since my app is almost 1MB (15%) smaller and starts faster without it, too. But if someone else comes across this issue and figures it out, please do post your answer and I will accept it instead of this one.

UIImagePickerController crash on canceling with zoom present on iOS 8.x only

In our app we show the Camera modally on top of another UIViewController. On iOS 8.x only, about 1/10 of the time if you zoom you wind up with a crash:
PLImagePickerCameraView didHideZoomSlider:]: message sent to deallocated instance
There is an existing SO post which has a supposed workaround - How-to find out what causes a didHideZoomSlider error on IOS 8? - but every variation I have tried fails to solve the crash. The suggestion involves putting a delay before dismissViewControllerAnimated:completion: . No matter what delay I try I can still reproduce the crash.
It only occurs (1) if you zoom the camera view (2) either choose Cancel or take a photo and exit the camera, all shortly before the zoom indication animation fades away. It appears to be a problem in iOS 8.x which Apple hasn't fixed. It crashes in Apple's code with no involvement in anything we have.
I do see "Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates." but this seems to be unrelated and is also referring to code inside the UIImagePickerController not anything we are doing.
I am about to deal with Apple DTS to see if we can find some way to avoid this or what in the environment might be causing this to happen. I thought to ask here in case anyone has another idea.
This crash did not occur under iOS 7.X. Happens on any model iPhone or iPad.
The answer from Apple is "it's a bug, file it in Radar" which of course says nothing about when it will be fixed. There is no workaround other than to tell users to wait a little until the slider fades (which our support people tell the users). There is nothing you can do other than implement your own camera and zoom support and do it yourself correctly.
Perhaps Apple will fix it in 8.2.

Resources