Discuss hardware-specific topics related to iPhone.

Posts under iPhone tag

200 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

AVCaptureDevice.setExposureModeCustom takes too long ?
Hello, I am working on a fairly complex iPhone app that controls the front built-in wide angle camera. I need to take and display a sequence of photos that cover the whole range of focus value available. Here is how I do it : call setExposureModeCustom to set the first lens position wait for the completionHandler to be called back capture a photo do it again for the next lens position. etc. This works fine, but it takes longer than I expected for the completionHandler to be called back. From what I've seen, the delay scales with the exposure duration. When I set the exposure duration to the max value: on the iPhone 14 Pro, it takes about 3 seconds (3 times the max exposure) on the iPhone 8 1.3s (4 times the max exposure). I was expecting a delay of two times the exposure duration: take a photo, throw one away while changing lens position, take the next photo, etc. but this takes more than that. I also tried the same thing with changing the ISO instead of the focus position and I get the same kind of delays. Also, I do not think the problem is linked to the way I process the images because I get the same delay even if I do nothing with the output. Is there something I could do to make things go faster for this use-case ? Any input would be appreciated, Thanks I created a minimal testing app to reproduce the issue : import Foundation import AVFoundation class Main:NSObject, AVCaptureVideoDataOutputSampleBufferDelegate { let dispatchQueue = DispatchQueue(label:"VideoQueue", qos: .userInitiated) let session:AVCaptureSession let videoDevice:AVCaptureDevice var focus:Float = 0 override init(){ session = AVCaptureSession() session.beginConfiguration() session.sessionPreset = .photo videoDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)! super.init() let videoDeviceInput = try! AVCaptureDeviceInput(device: videoDevice) session.addInput(videoDeviceInput) let videoDataOutput = AVCaptureVideoDataOutput() if session.canAddOutput(videoDataOutput) { session.addOutput(videoDataOutput) videoDataOutput.videoSettings = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA ] videoDataOutput.setSampleBufferDelegate(self, queue: dispatchQueue) } session.commitConfiguration() dispatchQueue.async { self.startSession() } } func startSession(){ session.startRunning() //lock max exposure duration try! videoDevice.lockForConfiguration() let exposure = videoDevice.activeFormat.maxExposureDuration.seconds * 0.5 print("set max exposure", exposure) videoDevice.setExposureModeCustom(duration: CMTime(seconds: exposure, preferredTimescale: 1000), iso: videoDevice.activeFormat.minISO){ time in print("did set max exposure") self.changeFocus() } videoDevice.unlockForConfiguration() } func changeFocus(){ let date = Date.now print("set focus", focus) try! videoDevice.lockForConfiguration() videoDevice.setFocusModeLocked(lensPosition: focus){ time in let dt = abs(date.timeIntervalSinceNow) print("did set focus - took:", dt, "frames:", dt/self.videoDevice.exposureDuration.seconds) self.next() } videoDevice.unlockForConfiguration() } func next(){ focus += 0.02 if focus > 1 { print("done") return } changeFocus() } func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection){ print("did receive video frame") } }
0
0
200
4w
App rejected cause it failed to start: "type":"EXC_CRASH","signal":"SIGABRT"
i am attaching crash logs would be really appreciated for any kind of help :) Review Environment Submission ID: f7cb438c-5784-44e7-abcf-4a787c9398ff Review date: April 30, 2024 Version reviewed: 1.0 Guideline 2.1 - Performance - App Completeness We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue. Review device details: Device type: iPad Air (5th generation) and iPhone 13 mini OS version: iOS 17.4.1 crashlog-639DEF1C-6DE4-437F-BEFE-E0DA6F31FFD8.txt crashlog-4EC7F1AA-18A9-4057-B1AD-9677FEA6981F.txt
1
0
236
May ’24
App Submission Rejected - Unable to replicate bug
Apple rejected my app store submission (first submission of this app) with the following comment: Issue Description: The app exhibited one or more bugs that would negatively impact App Store users. Bug description: The app opens to a black display Steps to reproduce bug: Launch app. Review device details: - Device type: iPhone 13 mini - OS version: iOS 17.4.1 Next Steps: Test the app on supported devices to identify and resolve bugs and stability issues before submitting for review. No other details given on specific scenarios. No logs provided. We asked for more info but they refused to help any further. I just so happen to have that exact device (iPhone 13 mini), so I updated it to the iOS version that was giving problems. But no matter what I do, I cannot replicate this bug. I tried via TestFlight and via Xcode, I tried deleting and reinstalling the app, and I tried restarting my phone between installs. I tried launching the app while on airplane mode. I never got this "app opens to a black display" issue. What else can I try to replicate this bug? The app is built with Unity 2021.3.19f1.
0
0
204
May ’24
Apple cloud storage issue after 17.4.1 IOS upgrade
Hello Everyone, This is regarding recent upgrade issue on my iPhone. I am still struggling to get access to my iCloud storage data for iMessages, Notes with password, Health related stats, etc. I would like to explain chronology of the entire event. There was a recent IOS 17.4.1 update came on April 07th, 2024. I clicked on the update but nothing happened then suddenly my phone passcode wasn’t working. I restarted my phone then the phone was not even accepting my face id. I went to the Apple store. Apple support team have requested me to reset (erase entire data) iPhone which I had already done on next day. I had no others options actually. My phone passcode was not working in reality due to iso update because I haven’t changed my passcode since more than a year. It is also not due to iPhone screen issue which apple team was saying to me initially. Unfortunately, my Apple ID credentials wasn’t working after phone reset so I had to put my Apple ID on recovery mode which took almost 15days to recover even though process is automated as per apple support team which they can’t reduce it. I understand that they are doing for privacy reason but who wants such privacy when even owner can’t access his own account for 15days. I offered them to verify my personal details such as email ID, phone number, passport number and any other details which they can use to expedite the process but they didn’t help on this. At end of the recovery (after 15days), they used same details i.e. my email ID and SMS on my registered number to verify. I don’t understand their logic but if they can take 2-3 business working days for same process then it makes sense to wait rather than 15days. After I regained access to my apple id, I have restored everything using my iCloud storage. I observed that few applications such as contacts, WhatsApp, etc. are restored properly but some of the applications such as iMessage, Notes (specifically locked notes), health data were not restored. iMessage are not synchronizing with iCloud storage when I tried to do it manually too in setting >> apple id>> iCloud >> show all >> messages in iCloud >> sync now. Nothing happens after clicking on it. Locked notes are still showing an error message “Can’t view Note. ‘This note can’t be viewed because encryption key wasn’t found in iCloud keychain. Resetting your end-to-end encrypted data can cause this’”. I have never used custom password to lock note instead I was using Face ID earlier to lock or unlock some of notes. All these things are happening because it is asking for old iPhone passcode to connect with iCloud storage while resetting my iPhone. I am trying to enter all the previous passcodes. a. When I entered correct passcode, then there is no error but still applications are not synchronizing with iCloud storage. b. When I enter incorrect passcodes (multiple passcodes but one at a time) then it gives an error “Verification failed”. It means it is detecting correct passcode as per above point. There is some issue with passcode synchronization with iCloud storage. I have opened a case with apple support team but meanwhile If any one of you had faced similar problem, then kindly suggest ways to me so I will regain access to some important personal information which are present in my iCloud storage. I would like to inform everyone that don’t rely completely on single brand or product. Take multiple backups may be on personal laptops, SSDs, etc. I learnt a lesson that even apple products, software & services are not reliable so think before buying costly products just for sake of brand name.
1
0
339
Apr ’24
Runpath Search Path (@rpath) Detected in iOS App Binary in Mobile Security Framework
Hello Geeks, After testing our iOS app using MobSF, the report highlighted that the binary has Runpath Search Path (@rpath) set. In certain cases an attacker can abuse this feature to run arbitrary executable for code execution and privilege escalation.

 The Runpath Search Path directs the dynamic linker to search for dynamic libraries (dylibs) in a specified order of paths, similar to how Unix searches for binaries in $PATH. However, this setup introduces a vulnerability wherein an attacker could place a malicious dylib in one of the initial paths, thereby hijacking the legitimate library sought by the linker.

 Despite attempting to manually strip the binary following instructions from https://inesmartins.github.io/mobsf-ipa-binary-analysis-step-by-step/index.html, the same warnings persist in the report. We urgently seek assistance in resolving this issue and eagerly await your response.
1
0
291
Apr ’24
What's happening to my phone?
The model name of my iPhone is SE3, and the iOS version is 17.3.1. Also, I am using a Samsung laptop with Windows 11. I uploaded photos from my iPhone to my laptop using an 8-pin USB. But the photo folder address is strange. It's written in unknown Chinese. -> f䴀M* This is the file name. It says 0 bytes out of 257TB are available. My iPhone has 6 4GB. Do you know what file that is?
0
0
168
Apr ’24
iOS Device Support Keylogger
Hello, I recently ran a virus/malware scan on my dev machine using ClamAV, this was run via macOS Terminal using the 'clamscan' function. Everything came back okay except a keylogger in the ProVideo Framework for physical iOS Test Devices. Please see below for 'clamscan' output: /Users/username/Library/Developer/Xcode/iOS DeviceSupport/iPad8,11 17.4 (21E219)/Symbols/System/Library/PrivateFrameworks/ProVideo.framework/ProVideo: Unix.Keylogger.Macos-10023932-0 FOUND My understanding is that '/Library/Developer/Xcode/iOS DeviceSupport/' is where Xcode keeps the files related to physical test devices that are required for debug. There were 3 Instances of this keylogger, all of which corresponded to physical devices I own and iOS Versions that I have installed / were installed. Can anyone verify if 'Unix.Keylogger.Macos-10023932-0' is a valid file that ClamAV is incorrectly detecting as malicious? If it is a valid debug file provided by Apple, it seems strange that it's located in the ProVideo Framework. I couldn't find any documentation online about this so any information would be appreciated. At this stage I have deleted the contents of '/Library/Developer/Xcode/iOS DeviceSupport/', my understanding is that these symbols are only transferred to the system when I test software via Xcode on a physical device and will not reproduce until I do that again. To me it's unclear if perhaps this keylogger is present on my iOS Device and is being transferred to the Mac via Xcode? Or somehow it is just appearing in this folder? Thanks!
2
0
435
Apr ’24
Problem IOS Photo Permission
I'm encountering a problem on some Iphone models with photo gallery authorization. On some devices, the authorization only displays "add photos" and "None". However, for many devices, most of them have "Full access", "Limited access" and "None" authorizations, which means that you can't access the gallery. Example of device affected by the bug: Iphone 11 IOS 17.3. I tested on an emulator with the same version, but it works with all 3 authorizations. In Info.plist , I have the following information: NSCameraUsageDescription The application wants to have access to your camera to help you add photos to your worksites. NSPhotoLibraryAddUsageDescription The application wants access to your photos to help you add photos to your building sites. NSPhotoLibraryUsageDescription The application wants access to your photos to help you add photos to your worksites.
1
0
200
Apr ’24
Camera Permission Changes to Not Allowed. (Black Screen Appears) after updating to iOS 17.4.1
Following the update to iOS 17.4.1, our team has observed a recurring issue across all iPhone browsers within our Virtual Try On web application. Specifically, when users switch between products, there's a disruption in camera permissions (changes to not allowed), resulting in a black screen appearing in the canvas where the live camera stream typically displays. We have noted that several users have reported experiencing the same issue. We kindly request your assistance in addressing this matter. Could you please provide guidance on any potential fixes or workarounds for this issue? Additionally, we would appreciate an estimated timeline for when a resolution might be expected. Thank you for your attention to this matter. We look forward to your prompt response and assistance in resolving this issue.
1
0
368
Apr ’24
MP3 works on simulator but not after I upload the build
Hello Everyone, I am having a problem here with my app. I developed a timer that play a sound .mp3 and the sound play every time that the timer start and finish. Everything works very well in the simulator but not on the devices after I distribute the build and install using the testflight. I saw the build content and the file is inside. However, I have no idea what I am doing wrong (if it is some option that i forgot to check or some problem in my code). Please, somebody can help me? Here is the func with the path. (I inserted the sound on the root) in the same place that we can find the Contentview. func playFinishSound() { guard let url = Bundle.main.url(forResource: "finish_sound", withExtension: "mp3") else { return } do { player = try AVAudioPlayer(contentsOf: url) player?.play() } catch { print("Error playing finish sound") } } } Thank you very much for your help. I appreciate. Antonio
2
0
229
Apr ’24
Translucent Toolbar Background Issue in iOS Safari Private Browsing Mode After Enabling Dark Mode and Single Tab Navigation from Safari Settings
hi. I've come across a UI-related bug. It's not a critical issue, but I'm curious whether it's actually a bug or an intended result. Enable "Dark Mode" on your device. Set Safari to "single tab" mode in the settings. Open the iOS browser. Switch to "Private Browsing" mode. When swiping up, the background of the top toolbar (including the status bar) becomes translucent, revealing the content behind it. When I turn on the 'Reduce Transparency' setting, the issue does not occur, and the background content remains hidden as expected. iPhone12 mini / iOS 17.0.1 thx!
0
0
180
Apr ’24
iOS17 CLLocationUpdate Blue bar
I am using CLLocationUpdate.liveUpdates() and CLBackgroundActivitySession to receive background location updates. My app has "Always" authorization, but I can not get rid of the top left "Blue bar" in any way except for by manually closing the app (swipe up in multi-app preview view). I have tried setting CLLocationManager.showsBackgroundLocationIndicator = false but it does not make any difference. How can I get rid of the blue bar in the top left corner? My project started from this WWDC23 sample code Has "always" location authorisation through CLLocationManager.requestAlwaysAuthorization() Has UIBackgroundModes - location set in Info.plist Tested multiple days with a real iPhone 14, iOS 17.2 (although an iPhone SE gen2 iOS 17.2 seems to loose the blue bar after a while)
3
0
491
Apr ’24
Enabling a multipathServiceType in NWParameters on iOS 17.x+ breaks establishing peer to peer NWConnections
We've been using network framework for peer to peer connectivity since iOS 15. Since the introduction of iOS 17 we've been getting the following for our NWListener when attempting to establish a connection with any multipathServiceType enabled. We're not doing anything special here. On iOS 17.x devices (we've tested 17.1, 17.2, 17.4) we simply enable multipath services by adding the multipath capability and then setting multipathServiceType to .handover or .interactive on our NWParameters. The devices never connect when we try establish an NWConnection. This works on all non-iOS 17.x devices. This is reproducible using the Apple Peer-to-Peer NWConnection TicTacToe sample code.
5
0
334
Apr ’24
The iPhone 15 Pro Max running on the 17.4.1 system seems to cause reboots when operating apps.
We've encountered a problem that only occurs on the iPhone 15 Pro Max running the 17.4.1 system. Specifically, when we are operating an app, the phone suddenly goes to a black screen, then the system's loading animation appears, and after the animation ends, the lock screen page appears. The whole phenomenon looks like the phone has restarted, but we haven't found any panic full files in the system logs. Therefore, we are at a loss as to how to solve this problem. Can you offer some assistance? This is a video of the issue occurring:https://watch.wave.video/yg2Oph4n4bfdMQeF
0
0
216
Apr ’24
Is There A CarTag Yet?
What I mean is an AirTag-type device that doesn't make noise so thieves can't detect it, but shoots you a text or alert if your car moves more than five feet after you have activated it. No one uses my car but me, so I know that if I get an alert that my car is moving, it's either being stolen or towed. Thanks!
0
0
151
Apr ’24