iOS is the operating system for iPhone.

Posts under iOS tag

72 Posts

Post

Replies

Boosts

Views

Activity

Bluetooth connection unexpectedly timing out with macOS Sequoia
After the macOS Sequoia update, my app seems to have an issue with Bluetooth communication between macOS and iOS that uses CoreBluetooth for Central-Peripheral communication. Setup: The iPhone (in my case: iPhone 14 Pro with iOS 18.0 (22A3354)) acts as the Central, and the Mac (in my case: 14" MacBook Pro 2023 with macOS 15.0 (24A335)) as the Peripheral. I’ve implemented a mechanism where the Central (iPhone) sends a message to the Peripheral (Mac) every 15 seconds to keep the connection alive (Because it needs to wait for notify characteristic updates). I never noticed this kind of issue before, but with macOS Sequoia I get it permanently. Issue: The connection drops unexpectedly after a period of time (sometimes 20 seconds, sometimes a few minutes) with CBErrorDomain - code 6: The connection has timed out unexpectedly. Sample Code: Peripheral (Mac): ContentView (Peripheral).txt ContentViewModel (Peripheral).txt Central (iPhone): ContentView (Central).txt ContentViewModel (Central).txt Reproduce: I attached sample code including the Central-Sample (for iPhone) and Peripheral-Sample (for Mac). Just run the Peripheral-Sample (after granting Bluetooth permissions). Then run the Central-Sample and select the Mac device in the list After selecting it should connect, discover the service & characteristic and should start writing messages to it. After some time the func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: (any Error)?) {should get called with timed out unexpectedly error. Could anyone please look into this issue and advise on whether there’s a known bug or any workaround? Any guidance would be greatly appreciated, as this impacts the stability of Bluetooth communication between the devices. Thanks in advance. Logs: I also ran the console.app during this issue which got these errors (if this is helpful): console_logs.txt
5
4
2.8k
Oct ’24
iOS 18 - UINavigationController crash with setViewControllers
Steps to reproduce: From my UINavigationController, call setViewControllers([vc1], animated: true) Then later call setViewControllers([vc2], animated: true) Results: In iOS 17, this behaves fine. In iOS 18, it crashes the UINavigationController. Both log: Attempt to present * on * which is already presenting * Workaround: use setViewControllers(...animated: false)
1
0
605
Oct ’24
Unable to obtain APNS token in xCode Swift after iOS 18 Upgrade
After upgrading to iOS 18, in my app development using xCode 16.0 (16A242d) and Swift, I am totally unable to obtain an APNS token from my own device using didRegisterForRemoteNotificationsWithDeviceToken The delegate simply won’t fire. I was able to do so repeatedly in the same app a week earlier, using iOS 17xx. That part of the code has not changed. I just now restored my phone and installed a clean version of iOS 18, but the issue has not changed. Have tried using WiFi and also cellular networks. It is a no-go.
4
0
863
Oct ’24
Toolbar buttons in HStack merge with menu when .buttonStyle(…) is set
I do not understand what is happening here. In this example, the toolbar has three Button and one Menu inside an HStack, where the every button has a .buttonStyle(_:) set. ToolbarItem(placement: .bottomBar) { HStack { Button {} label: { Label("Foo", systemImage: "square") } .buttonStyle(.bordered) Button {} label: { Label("Bar", systemImage: "circle") } .buttonStyle(.borderless) Menu { Button {} label: { Label("One", systemImage: "figure.arms.open") } Button {} label: { Label("Two", systemImage: "figure.2.arms.open") } } label: { Label("Baz", systemImage: "star") } Button {} label: { Label("Quux", systemImage: "triangle") } .buttonStyle(.borderedProminent) } } Please note: the menu has a star icon. This causes only the menu button to appear, but with the first button's icon: If a single button have has its styles removed, the toolbar appears as expected (in this example all button styles are removed): This example uses the bottom bar, but also happens when using placement: .navigation, placement: .topBarLeading, placement: .topBarTrailing.
2
0
474
Oct ’24
CoreBluetooth Advertising and Scanning Issue in iOS 18/iPadOS 18 Beta 3
Hello, Has anyone encountered issues with CoreBluetooth advertising and scanning between iOS 18/iPadOS 18 Beta 3 ? I'm want to know this is a bug or an intended change in behavior. Issue Summary: Central device on iOS 18/iPadOS 18 Beta 3 (foreground) and Peripheral device on iOS 17.5.1 (background) fail to communicate via BLE advertising. The reverse setup or using non-iOS 18 devices works as expected. Detailed Description: I am developing an iOS/iPadOS application using CoreBluetooth for advertising and scanning. Here are the specifics of my setup: The application uses a fixed BLE service UUID, and scanning is performed with the specified service UUID. Background Modes Uses Bluetooth LE accessories and Acts as a Bluetooth LE accessory are enabled to allow advertising and scanning even when the app is in the background. When the Central device is running iOS 18/iPadOS 18 Beta 3 and the app is in the foreground scanning, and the Peripheral device is running iOS 17.5.1 with the app in the background advertising, the Central device cannot receive the advertisements from the Peripheral device. ( CBCentralManagerDelegate.centralManager(_:didDiscover:advertisementData:rssi:) don't work.) In the reverse scenario (Central on iOS 17.5.1 in the foreground scanning, and Peripheral on iOS 18/iPadOS 18 Beta 3 in the background advertising), the advertisements are received correctly. Additionally, advertisements are received correctly in cases where both devices are not on iOS 18/iPadOS 18. I am wondering if anyone else has encountered this issue or if there is any information available regarding whether this is a bug or an intended behavior change in iOS 18/iPadOS 18. Thank you.
9
4
2.4k
Oct ’24
SwiftUI LongPressGesture does not work as expected in Xcode Version 16.0 (16A242) and iOS 18
When I copy and paste example code in apple developer documentation, LongPressGesture does not work as expected in Xcode Version 16.0 (16A242) and iOS 18. It seems updating(_:body:) method does not work when used with LongPressGesture. When I make a breakpoint in updating(_:body:) method and long press the blue circle on the screen of simulator(or device), it is expected to be caught in breakpoint or it is expected that color of circle turns from blue to red to green. However, it is not caught in breakpoint and never turns to red. Question of Stackoverflow is about same issue and I can not use onLongPressGesture method to implement required feature of my app. I submitted bug report via Feedback Assistant and my report's ID is FB15127375 and FB15173175. Please tell me if there is any investigation about this issue. Development environment: Xcode Version 16.0 (16A242), macOS 14.5 Run-time configuration: iOS 18.0
1
1
914
Oct ’24
iOS 18 / CarPlay
When is a fix coming? CarPlay is just a black screen whether cable or Bluetooth connected. Even before 18, connecting was troublesome, often taking 3 or 4 attempts. I’m seriously considering buying an android phone just to leave in the car - research indicates there virtually never issues with it and VAG infotainment.
2
0
376
Oct ’24
The iOS Simulator and preview in Xcode takes forever to load
I’ve recently begun learning how to utilize Xcode. I have an app in Xcode that closely resembles the iOS App template. Whenever I initiate a build, it successfully completes, but it never finishes installing views into the iOS Simulator. This issue is also present when I attempt to preview the app within the Xcode editor. I am currently using a 2020 MacBook Air (M1). Have you encountered a similar problem? If so, how did you resolve it? [Written using Apple Inteligence Writing Tools]
1
0
649
Oct ’24
Xcode 16 unable to use iOS 16.2 - 17.5 Simulators
When testing on Xcode Cloud I am unable to use any simulators between iOS 16.2 and 17.5. I'm glad that there are options for <= 16.1, but given how small those userbases must be at this point it feels rather odd. Similarly, iOS 18 is still very new so it also has a disproportionately small number of users on it. Does not seem to matter if explicitly selecting Xcode/macOS versions. Am I configuring something incorrectly? Picked something wrong on a dropdown, checked the wrong box when setting up the workflow? Xcode 15.4 allows building to iOS 17.5, but not iOS 18. 🙃
1
1
823
Oct ’24
Calling `requestAuthorization(options:completionHandler:)` in Swift 6 leads to `EXC_BAD_INSTRUCTION` crash.
I am in the process of evaluating Swift 6 and I noticed that when using the completion handler version of the requestAuthorization the application crashes with EXC_BAD_INSTRUCTION exception. Using this code: let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert, .sound, .badge]) { success, error in print(success) } Crashes when the project is build with Swift 6 and works normalising when build with Swift 5. The only solution that I have found so far is to switch to using the async version of that API: Task { let center = UNUserNotificationCenter.current() do { if try await center.requestAuthorization(options: [.alert, .sound, .badge]) == true { print("success") } else { print("fail") } } catch { print("Error") } } Is the a known issue? I have submitted feedback with ID "FB15294185".
3
1
844
Oct ’24