Discuss hardware-specific topics related to iPhone.

iPhone Documentation

Posts under iPhone tag

439 Posts
Sort by:
Post not yet marked as solved
0 Replies
43 Views
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") } }
Posted
by Saturnyn.
Last updated
.
Post not yet marked as solved
0 Replies
50 Views
I have my app already in live before the privacy manifest introduced. Now, I want to migrate from cocoapods to Swift Package Manager. Will this be considered like adding the third party SDKs as new ones or will it be considered existing ones? So far I have not received any emails from Apple regarding the privacy manifest. I do not want any issues with the privacy manifest.
Posted
by Sneha0110.
Last updated
.
Post not yet marked as solved
1 Replies
82 Views
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
Posted Last updated
.
Post not yet marked as solved
0 Replies
76 Views
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.
Posted
by PTRica.
Last updated
.
Post not yet marked as solved
1 Replies
112 Views
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.
Posted
by Gaurav007.
Last updated
.
Post not yet marked as solved
1 Replies
138 Views
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.
Posted Last updated
.
Post not yet marked as solved
0 Replies
92 Views
Hi, Someone sent me this on snapchat, can anyone tell what it is? opened it i think its a virus trying to steal information. file:///private/var/mobile/Containers/Data/Application/********************39B16/tmp/asf.pdf
Posted
by abma1.
Last updated
.
Post not yet marked as solved
0 Replies
95 Views
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?
Posted Last updated
.
Post not yet marked as solved
2 Replies
261 Views
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!
Posted
by bradley_7.
Last updated
.
Post not yet marked as solved
1 Replies
116 Views
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.
Posted Last updated
.
Post not yet marked as solved
1 Replies
164 Views
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.
Posted Last updated
.
Post not yet marked as solved
2 Replies
116 Views
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
Posted
by Antoniojr.
Last updated
.
Post not yet marked as solved
0 Replies
89 Views
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!
Posted
by blueyoun.
Last updated
.
Post not yet marked as solved
1 Replies
398 Views
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)
Posted
by Wallman94.
Last updated
.
Post not yet marked as solved
3 Replies
232 Views
We have a relatively simple app that using Network.Framework, NWConnection, NWEndpoint to setup TCP connections with nearby devices also using the app. It's actually been working great for a while now but we've recently noticed with iOS 17.4/17.4.1 that we're spontaneously getting: nw_proto_tcp_route_init [C6:3] no mtu received sometimes the [C6:3] will be [C7:3] or another similar code. We may also occasionally see No route to Host appear in our console logs though this isn't definite. After this point the connection is effectively lost but we don't actually receive any updates on our NWConnection stateUpdateHandler to action on. It's sort of dead in the water so to speak. We've reproduced this issue with multiple devices on iOS 17.4.x and in multiple network settings (in office, cafe, home networks...etc). Nothing seems to make a difference. Any ideas on how to fix or workaround this? I saw a similar issue here: https://developer.apple.com/forums/thread/669519 but the original author never followed up and it's around 3 years old. I've captured a sysdiagnose log and can submit an issue if it warrants filing a bug report.
Posted Last updated
.
Post not yet marked as solved
5 Replies
204 Views
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.
Posted Last updated
.
Post not yet marked as solved
1 Replies
118 Views
Shouldn't Siri use iCloud to post alarms for ALL my devices?
Posted
by capwalker.
Last updated
.
Post not yet marked as solved
0 Replies
173 Views
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
Posted
by luminary.
Last updated
.