iOS is the operating system for iPhone.

Posts under iOS tag

200 Posts

Post

Replies

Boosts

Views

Activity

UIViewControllerRepresentable inside a UIScrollView (List, ScrollView and etc) not working
Hi, I have a UIViewController that contains a UITextField I am presenting that view controller inside SwiftUI using a UIViewControllerRepresentable and I am able to interact with the text field fine and the view controller lifecycle executes normally if the representable is not presented on any SwiftUI container that internally uses a scroll view on the other hand if I put the representable view inside a SwiftUI view that has a scroll view internally (when the UIKit hierarchy is generated) the text field does not respond to interaction anymore and the only view controller lifecycle method invoked is the viewDidLoad from my view controller the other methods are not executed. Anyone knows if this is a bug on SwiftUI or if there is any additional setup necessary for UIViewControllerRepresentables? Thanks in advance.
4
2
1.5k
Feb ’25
iOS 18.1-18.3 Bluetooth is not working (infinity restarting)
The Bluetooth on my iPhone 14 hasn’t been working for a week now. Everything was fine until, at some point, it started endlessly turning on and off by itself. I’ve tried resetting the settings, doing a hard reset, updating to iOS 18.3—none of these helped. I even deleted all VPN profiles just in case (I saw this suggested on forums), but that didn’t work either. According to forums, this bug has existed since September and affects thousands of people. The constant cycling causes the Bluetooth settings to freeze. Please help! My watch, headphones, car—everything has turned into a pumpkin!
1
0
756
Feb ’25
iPhone 16 Pro boot loop with iOS 18.4 beta
I installed iOS 18.4 on Friday evening, all worked well during Saturday and Sunday, Monday morning the Phone rebooted and appeared to have installed an Update, I didn´t notice, I was about to answer a WhatsApp and the TestFlight beta didn´t start up, a renew of the App was not possible due to TestFlight not being available. So I thought a reboot would help, but I did a reset, since then BOOT LOOP. I brought in recovery mode, updated with the 18.4 ipsw, no change - BOOT LOOP
1
0
496
Feb ’25
Recover device enrolled email from any iOS device for an enterprise app?
Is the possibility of programmatically recovering the enrolled email address associated with an iPad. We are currently working on a project that requires us to retrieve this information for our enrolled devices. Could you please provide guidance or documentation on how we can achieve this programmatically? Specifically, we are interested in any APIs or frameworks that Apple provides for this purpose, as well as any necessary permissions or configurations that need to be in place.
0
0
423
Feb ’25
Closure with typed throws stored as a View property crashes on iOS 17
I've encountered an issue where storing a throws(PermissionError) closure as a property inside a SwiftUI View causes a runtime crash on iOS 17, while it works correctly on iOS 18. Here’s an example of the affected code: enum PermissionError: Error { case denied } struct PermissionCheckedView<AllowedContent: View, DeniedContent: View>: View { var protectedView: () throws(PermissionError) -> AllowedContent var deniedView: (PermissionError) -> DeniedContent init( @ViewBuilder protectedView: @escaping () throws(PermissionError) -> AllowedContent, @ViewBuilder deniedView: @escaping (PermissionError) -> DeniedContent ) { self.protectedView = protectedView self.deniedView = deniedView } public var body: some View { switch Result(catching: protectedView) { case .success(let content): content case .failure(let error): deniedView(error) } } } @main struct TestApp: App { var body: some Scene { WindowGroup { PermissionCheckedView { } deniedView: { _ in } } } } Specifically this is the stack trace (sorry for the picture I didn't know how to get the txt): If I use var protectedView: () throws -> AllowedContent without typed throws it works.
2
0
298
Feb ’25
18.4 Beta sent iPhone 12 into boot loop
I installed the iOS 18.4 developer beta on my iPhone 12 last night, and it ended up sending my phone into a boot loop—at least that's what it looks like. Phone alternates between totally black screen and the Apple logo screen every 5 seconds or so. The phone isn't responding to force restart, isn't showing up in Finder to try to factory reset, etc. My guess is the update was corrupted in some way? Did this happen to anyone else? Any ideas about what's going on?
2
1
886
Feb ’25
Start live activity with push notification problem
Hey there, i implemented live activity in my app and iam trying to start the live activity from push notification, updates works fine even when the app is in background but starting the activity creating issue mostly on background and kill mode when i check the delivery of live activity on cloudkit console it says stored for device power considerations. anyone having the same issue ?
1
1
695
Feb ’25
App terminated at launch exported on Xcode 16.2
when upgrading Xcode from 15.4 to 16.2, my apps crash at launch. device: iphone 14 pro max, iOS version 18.2.1 Termination Reason: DYLD 4 Symbol missing Symbol not found: _$s10Foundation4DateV4GRDB24DatabaseValueConvertibleA2dEP08databaseE0AD0dE0VvgTW Full Report Below: Full Report {"app_name":"myapp","timestamp":"2025-02-15 20:58:55.00 +0800","app_version":"5.25.0","slice_uuid":"dc349d86-392d-39fa-9cd3-daccab1db019","build_version":"0","platform":2,"bundleID":"com.xxxx.myapp","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"iPhone OS 18.2.1 (22C161)","roots_installed":0,"name":"myapp","incident_id":"99A2D5C2-3A04-47A7-9521-408E2287D0B4"} { "uptime" : 200000, "procRole" : "Foreground", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "iPhone15,3", "coalitionID" : 601, "osVersion" : { "isEmbedded" : true, "train" : "iPhone OS 18.2.1", "releaseType" : "User", "build" : "22C161" }, "captureTime" : "2025-02-15 20:58:55.5603 +0800", "codeSigningMonitor" : 2, "incident" : "99A2D5C2-3A04-47A7-9521-408E2287D0B4", "pid" : 8783, "translated" : false, "cpuType" : "ARM-64", "roots_installed" : 0, "bug_type" : "309", "procLaunch" : "2025-02-15 20:58:55.5448 +0800", "procStartAbsTime" : 5031986462126, "procExitAbsTime" : 5031986824477, "procName" : "myapp", "procPath" : "/private/var/containers/Bundle/Application/E0327E15-3AA9-42CA-8BEF-99076C11C04D/myapp.app/myapp", "bundleInfo" : {"CFBundleShortVersionString":"5.25.0","CFBundleVersion":"0","CFBundleIdentifier":"com.xxxx.myapp"}, "storeInfo" : {"deviceIdentifierForVendor":"D9AFB1A6-DDA6-462D-A27D-36E143C7ACF6","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "com.xxxx.myapp", "crashReporterKey" : "ded93d2da6d19b1e84aff2c00001f6ee1f7b0aca", "appleIntelligenceStatus" : {"state":"unavailable","reasons":["accessNotGranted","assetIsNotReady","siriAssetIsNotReady","notOptedIn","deviceNotCapable"]}, "wasUnlockedSinceBoot" : 1, "isLocked" : 0, "codeSigningID" : "com.xxxx.myapp", "codeSigningTeamID" : "8VGP475R33", "codeSigningFlags" : 570434305, "codeSigningValidationCategory" : 5, "codeSigningTrustLevel" : 4, "instructionByteStream" : {"beforePC":"5AAAACABAAAoAQAAMAEAADgBAABAAQAASAEAAGQBAAAwQYDSARAA1A==","atPC":"AwEAVH8jA9X9e7+p/QMAkcL0/pe/AwCR/XvBqP8PX9bAA1/WEC2A0g=="}, "bootSessionUUID" : "BF78EBB1-E385-4636-987E-B4388D80EBF3", "basebandVersion" : "3.20.05", "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"}, "termination" : {"code":4,"flags":518,"namespace":"DYLD","indicator":"Symbol missing","details":["(terminated at launch; ignore backtrace)"],"reasons":["Symbol not found: _$s10Foundation4DateV4GRDB24DatabaseValueConvertibleA2dEP08databaseE0AD0dE0VvgTW","Referenced from: /Volumes/VOLUME//myapp.app/myapp","Expected in: /Volumes/VOLUME//myapp.app/myapp"]}, "faultingThread" : 0, "threads" : [{"triggered":true,"id":2563160,"threadState":{"x":[{"value":6},{"value":4},{"value":6091179776},{"value":301},{"value":6091178752},{"value":0},{"value":6091174168},{"value":3776},{"value":32},{"value":6091178631},{"value":10},{"value":0},{"value":56},{"value":0},{"value":4439450793},{"value":6091174968},{"value":521},{"value":7593716520,"symbolLocation":420,"symbol":"__simple_bprintf"},{"value":0},{"value":0},{"value":6091178752},{"value":301},{"value":6091179776},{"value":4},{"value":6},{"value":9288},{"value":6091191552},{"value":8701512496,"symbolLocation":19168,"symbol":"dyld4::preallocator"},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7594015840},"cpsr":{"value":2147487744},"fp":{"value":6091178704},"sp":{"value":6091178640},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7593988164,"matchesCrashFrame":1},"far":{"value":0}},"frames":[{"imageOffset":442436,"symbol":"__abort_with_payload","symbolLocation":8,"imageIndex":1},{"imageOffset":470112,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":104,"imageIndex":1},{"imageOffset":470164,"symbol":"abort_with_payload","symbolLocation":16,"imageIndex":1},{"imageOffset":22704,"symbol":"dyld4::halt(char const*, dyld4::StructuredError const*)","symbolLocation":300,"imageIndex":1},{"imageOffset":30132,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)","symbolLocation":4124,"imageIndex":1},{"imageOffset":198252,"symbol":"dyld4::start(dyld4::KernelArgs*, void*, void*)::$_0::operator()() const","symbolLocation":544,"imageIndex":1},{"imageOffset":195536,"symbol":"start","symbolLocation":2188,"imageIndex":1}]}], "usedImages" : [ { "source" : "P", "arch" : "arm64", "base" : 4375625728, "size" : 55197696, "uuid" : "dc349d86-392d-39fa-9cd3-daccab1db019", "path" : "/private/var/containers/Bundle/Application/E0327E15-3AA9-42CA-8BEF-99076C11C04D/myapp.app/myapp", "name" : "myapp" }, { "source" : "P", "arch" : "arm64e", "base" : 7593545728, "size" : 536896, "uuid" : "4eb7459f-e237-38ce-8240-3f3e2e1ce5ab", "path" : "/usr/lib/dyld", "name" : "dyld" }, { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" } ], "sharedCache" : { "base" : 6907789312, "size" : 4393861120, "uuid" : "16cc07dd-eea7-3049-9ee6-335fc7c37edf" }, "vmSummary" : "ReadOnly portion of Libraries: Total=259.2M resident=0K(0%) swapped_out_or_unallocated=259.2M(100%)\nWritable regions: Total=4240K written=144K(3%) resident=144K(3%) swapped_out=0K(0%) unallocated=4096K(97%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nSTACK GUARD 16K 1 \nStack 1008K 1 \nVM_ALLOCATE 16K 1 \nVM_ALLOCATE (reserved) 672K 4 reserved VM address space (unallocated)\n__DATA 4868K 3 \n__DATA_CONST 1638K 2 \n__DATA_DIRTY 12K 1 \n__LINKEDIT 206.1M 2 \n__TEXT 53.2M 2 \n__TPRO_CONST 272K 1 \ndyld private memory 1024K 1 \nmapped file 61.3M 23 \npage table in kernel 144K 1 \n=========== ======= ======= \nTOTAL 330.0M 43 \nTOTAL, minus reserved VM space 329.3M 43 \n", "legacyInfo" : { "threadTriggered" : { } }, "logWritingSignature" : "c92c68c5c0a3817283c893ee8456b996f585f803", "trialInfo" : { "rollouts" : [ { "rolloutId" : "63f9578e238e7b23a1f3030a", "factorPackIds" : { "SMART_REPLY_ACTIONS_EN" : "64af1347f38420572631a103" }, "deploymentId" : 240000005 }, { "rolloutId" : "6761d0c9df60af01adb250fb", "factorPackIds" : { }, "deploymentId" : 240000001 } ], "experiments" : [ ] } }
1
0
603
Feb ’25
Contacts Framework Question
Hey, I would love to access the users Contact (ie. the Me Card) Apple recently released the Invites app and within this app you can find the users Contacts Photo. I tried to replicate this behaviour but I currently need to match based on a name or email or something else. I have no idea how to receive this data because when using the Invites app I only remember the app asking for Contacts permission and nothing else so far. let store = CNContactStore() let keysToFetch = [CNContactImageDataAvailableKey, CNContactImageDataKey, CNContactThumbnailImageDataKey] as [CNKeyDescriptor] let email = "test@test.de" let predicate = CNContact.predicateForContacts(matchingEmailAddress: email) do { let contacts = try store.unifiedContacts(matching: predicate, keysToFetch: keysToFetch) let imageDatas: [Data] = contacts.compactMap { $0.imageData } self.images = imageDatas.map { UIImage(data: $0) ?? UIImage() } } catch { print("Error fetching contacts: \(error)") } This is how I am retrieving the Image. MAYBE someone can help me out. Thank you so far ~ Flo
1
0
350
Feb ’25
Multiple issues with SwiftUI TabView in sidebarAdaptable mode
We are trying to write an iOS app that supports regular and constrained widths using a TabView with .tabViewStyle(.sidebarAdaptable). On the surface this seems like a great way to write an app that supports all the different widths that your app may run in. Especially since Stage Manager and Apple Vision have made it easy for users to resize your apps window while it is running. We are facing many challenges though. I will give a brief one liner of each below, but to truly experience them you need to run the sample app, or watch the sample videos included. Issues Basic TabView Issues Double Navigation Bar: When tabs are collapsed into a "More" tab, there's an unwanted double navigation bar Selection Sync: Tab selection gets out of sync when switching between narrow/wide layouts through the "More" tab TabView Crash Fatal crash occurs when resizing window to narrow width while Tab 5 is selected Error: SwiftUI/SidebarAdaptableTabViewStyle_iOS.swift:482: Fatal error: Tried to update with invalid selection value Section Handling Issues Section Display Bug: Bottom tabs incorrectly show section names instead of tab names in narrow width Tab Selection Mismatch: Tab identifiers don't match selected tabs in narrow width mode Customization Issues Inconsistent "Edit" button behavior in More tab Unable to properly disable tab customization Sample app and video https://github.com/copia-wealth-studios/swiftui-tabview-sample
1
2
529
Feb ’25
"could not build module" errors on Xcode 16.2
Hello all:) I am using Xcode 16.2, react native 0.76, simulator -> iPhone 15(17.0), mac M1 Sequoia 15.2. Many "could not build module" errors appear while building files inside iPhoneSimulator18.2.sdk. The think is that I don't even use this simulator and if I try to delete it the Xcode hides all other simulator options and requires 18.2 to download.. Of course I already tried to clean and delete and reinstall everything but nothing works.. Any help is welcome:) Thanks!
1
0
524
Feb ’25
Disabled button in SwiftUI .alert not working
I found an issue when implementing an alert with a TextField to input a name. I want the action button to be disabled until a name has been entered, but the action block is never executed when the button has become enabled and pressed. The problem seems to appear only when name is initially an empty string. Tested with iOS 17.0. struct MyView: View { @State private var name = "" var body: some View { SomeView() .alert(...) { TextField("Name", text: $name) Button("Action") { // Action }.disabled(name.isEmpty) Button("Cancel", role: .cancel) {} } } }
14
6
4.4k
Feb ’25
Operator new/delete override only work for the first time for an iOS App on iOS16
Phenomenon We've found operator new/delete override in iOS app, only works for the first time when the app launches on iOS16, operator override is not working in the second and subsequent launch of the same app. Steps to reproduce Development environment: XCode 16.2 Create a new iOS Objective-C project in XCode In the project options page, choose the following settings: Name the project: OverrideNew Interface: Storyboard Language: Objective-C Testing System: None Add test code Change AppDelegate.m's file name to AppDelegate.mm to add the following C++ test code. Add the following code after #import "AppDelegate.h" #include &lt;os/log.h&gt; #include &lt;string&gt; static bool needLog = false; void* operator new(size_t size) { void* ptr = malloc(size); if(needLog) { // Log to prove override new works os_log_error(OS_LOG_DEFAULT, "Overrided new called. ptr: %p\n", ptr); } return ptr; } void operator delete(void* ptr) noexcept { free(ptr); if(needLog) { // Log to prove override delete works os_log_error(OS_LOG_DEFAULT, "Overrided delete called. ptr: %p\n", ptr); } } void StringConstructTest(void) { needLog = true; os_log_error(OS_LOG_DEFAULT, "Enter StringConstructTest1\n"); { std::string str; // a long string will trigger memory allocation on heap str = "Hello world and this is a long string.\n"; os_log_error(OS_LOG_DEFAULT, "%{public}s\n", str.c_str()); } os_log_error(OS_LOG_DEFAULT, "Exit StringConstructTest1\n"); needLog = false; } Call StringConstructTest() in didFinishLaunchingWithOptions method: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. StringConstructTest(); return YES; } Change build settings Change Minimum Deployments: iOS 16. Build and run the project on an iOS16 device, emulator can not reproduce the problem. Observe logs in Console app on Mac Use the following log filters: message type: error process: OverrideNew First launch First launch on device(not from a XCode debug launch), the log is: Enter StringConstructTest1 Overrided new called. ptr: 0x281f2f450 Hello world and this is a long string. Overrided delete called. ptr: 0x281f2f450 Exit StringConstructTest1 "Overrided new called" proved the override new operator is called. Second and subsequence launch Second and subsequence launch on device(not from a XCode debug launch), the log is: Enter StringConstructTest1 Hello world and this is a long string. Exit StringConstructTest1 No log for "Overrided new called", the subsequence launch, the override operator new is not called anymore. Expected behavior For every app launch, log "Overrided new called" will happen and operator override works. On iOS16, operator override only works for the first launch. I've also tested on iOS18, operator override works every time as expected. Question Is there a way to force operator override works every time on iOS16?
4
0
1.2k
Feb ’25