While testing record creation in public CloudKit database for authenticated user I am able to do so without any issues. But for devices missing iCloud account or authentication expired I am seeing the below error:
▿ <CKError 0x97a959200: "Permission Failure" (10/2007); server message = "CREATE operation not permitted"; op = 67331DE3AF3DD666; uuid = 1F3ACD4F-A799-4CD4-ADF0-EDE9E12F2DCB; container ID = "***">
_nsError : <CKError 0x97a959200: "Permission Failure" (10/2007); server message = "CREATE operation not permitted"; op = 67331DE3AF3DD666; uuid = 1F3ACD4F-A799-4CD4-ADF0-EDE9E12F2DCB; container ID = "***">
I am unable to add create/write permission to _world security role in dashboard.
Is this something not supported by Cloudkit? Only authenticated iCloud users will be able to create and write data to public database as well?
Posts under iOS tag
200 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I created a form field using:
On Safari and Chrome desktop, it behaves as expected. Safari shows the current date in grey by default, and Chrome displays a format hint like dd.mm.yyyy, which is perfectly fine.
On iOS, however, the field appears completely blank. I understand that the placeholder attribute is not part of the iOS date input behavior, which is technically fine. Still, it would be helpful if developers had the option to define a default display value. In the past, browsers prefilled date inputs, but many developers objected because they needed the field to be empty by default.
I have searched extensively and tried several AI tools, and everywhere it says that this cannot be changed. Am I missing something, or is there any way to display a placeholder, the current date, or some kind of visual hint in iOS Safari?
Right now, the empty field creates poor UX because users may overlook it. Since the field is required, this can easily lead to validation errors and additional friction.
As a workaround, I used a CSS hack with input[type="date"]::before and a content attribute. I also added JavaScript to toggle a pseudo-placeholder value specifically for iOS.
Is there a cleaner solution that avoids this workaround?
Thanks in advance for your guidance.
When making an element with .glassEffect(.clear.interactive()) draggable, it stretches as it moves.
It seems like it's meant to stretch as you move your finger away from the element, but it doesn't make sense if the element is following your finger as you drag it.
Is this a bug, or is there a way to disable this behavior without removing the other "interactive" animations?
P.S. The shiny border around the elements seems to be a rounded rectangle or capsule, but the actual element's shape seems to be stretched. That also appears to be a bug.
I’ve encountered an aspect of the Liquid Glass effect in SwiftUI that seems a bit odd: the Liquid Glass interaction appears to ignore regular hit-testing behavior.
The following sample shows a button with hit testing disabled:
@main
struct LiquidGlassHitTestDemo: App {
var body: some Scene {
WindowGroup {
Button("Liquid") {
fatalError("Never called.")
}
.buttonStyle(.glassProminent)
.allowsHitTesting(false)
}
}
}
As expected, the button’s action is never called. However, the interactive glass effect still responds to touch events:
What’s even more surprising is that the UIKit equivalent behaves differently:
final class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(
configuration: .prominentGlass(),
primaryAction: UIAction(
title: "Liquid",
handler: { action in
print("Never called.")
}
)
)
view.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
button.centerXAnchor.constraint(equalTo: view.centerXAnchor),
button.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
button.isUserInteractionEnabled = false
}
}
In this case, the effect is not interactive at all. Similarly, if a UIViewController’s root view overrides hitTest(_:with:) to always return nil, the Liquid Glass effect does not react to touch events whatsoever.
The only way I’ve found to “properly” disable the glass interactivity in SwiftUI is to use the .disabled(true) modifier. However, this also changes the button’s appearance, which is not always desirable.
Is this expected behavior, or could this be a bug? Am I missing something about how Liquid Glass interaction is implemented in SwiftUI?
We are facing an issue with App Store review and would appreciate some guidance.
Our application is designed strictly for iPhone devices only. The app includes a SIM binding mechanism that requires sending an SMS from the registered mobile number for device verification. This functionality depends on the physical SIM capabilities available only on iPhone devices.
However, during the review process, Apple is testing the app on an iPad device. Since iPads generally do not support sending SMS from a physical SIM (especially Wi-Fi models), the SIM binding process fails, which is resulting in app rejection.
We have:
Configured the app deployment target for iPhone only.
Set the device family to iPhone in Xcode.
Any guidance would be greatly appreciated.
I am trying to develop a Watch and iOS app as companion. It is beyond stupid how I can not keep the watch connected to Xcode to develop. I have tried all the so-called tricks.
Why is this so fragile?
The phone is USB connected to my Mac
I have tried turning off the wifi on my Mac and have the phone and watch on the same network. Nada
I have tried just having everything on the same network. The watch is connected maybe 20% of the time.
I have tried creating a hotspot network with my phone. The watch is connected maybe 50% of the time.
This is truly an awful experience. Am I doing something wrong?
Any advice would be grateful.
During Apple Pay in-app provisioning (EV_ECC_v2), our iOS app successfully obtains the issuer provisioning certificates and generates cryptographic material. The flow fails when Apple posts the card blob to Apple’s broker (card creation step), returning HTTP 500 from .../broker/v4/devices/{SEID}/cards.
Steps:
Call issuerProvisioningCertificates?encryptionVersion=EV_ECC_v2
→ 200 OK; returns ECC leaf + Apple Root CA chain; nonce=2a831be4.
2. Build {encryptedCardData, activationData, ephemeralPublicKey}
3. POST /broker/v4/devices/{SEID}/cards
Expected: 200 OK on /broker/v4/devices/{SEID}/cards, or 5xx with a descriptive error if payload/cryptography is invalid.
Observed: 500 Internal Server Error from Apple broker on /cards (labeled “eligibility” in PassKit logs), causing a terminal failure in Wallet UI.
I have an app that records video (and also provides a custom remote interface) so it needs to remain awake and in the foreground.
It sets;
UIApplication.shared.isIdleTimerDisabled = true
I've also tried catching willEnterForegroundNotification to ensure it resets it if the app is backgrounded and resumes;
.onReceive(
NotificationCenter.default.publisher(
for: UIApplication.willEnterForegroundNotification)
) { _ in
UIApplication.shared.isIdleTimerDisabled = true
}
However, it seems that on some devices it will still go to sleep. This seems to be the case when Adaptive Power Mode is on (or rather, I've not managed to reproduce it when Adaptive Power Mode is off) even when battery percentage is well over 20% (I sort of expected Low Power Mode to trigger this)
Am I missing something obvious? there must be a way to make sure media capture apps stay awake (I'm surprised AVFoundation doesn't do it anyway!)
If it is related to Adaptive Power Mode, is there any way to detect that programatically to at least provide a warning to the user that having it on will affect operation of the app?
It has been approximately three weeks since we submitted our app for review via App Store Connect, but it remains "In Review" and the review process has not been completed.
For this reason, we also requested an expedited app review to the App Review Team last week.
Will the review proceed if we simply wait?
Is there any way to check the detailed status of this app review?
Hello,
I have created an app in Emergent that I am trying to set up on the app store, but I am lost. As you might expect, I am new at this. I know this app is a winner. It's all about productivity. I can't pay, but I am willing to share the rights to the app with the person that helps me get it going. I would also like to put in in Android, so if you can help there it would be even better.
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
Community Management
Developer Tools
App Store
iOS
Our app supports UIScene. As a result, launchOptions in application(_:didFinishLaunchingWithOptions:) is always nil.
However, the documentation mentions that UIApplication.LaunchOptionsKey.location should be present when the app is launched due to a location event.
Given that our app is scene-based:
How can we reliably determine whether the app was launched due to a location update, geofence, or significant location change?
Is there a recommended pattern or API to detect this scenario in a Scene-based app lifecycle?
This information is critical for us to correctly initialize location-related logic on launch.
Relevant documentation:
https://developer.apple.com/documentation/corelocation/cllocationmanager/startmonitoringsignificantlocationchanges()
I have an iOS app with App Groups. The app uses the CallKit extension for call block functionality. All data is stored in UserDefaults(suiteName:) and FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: ).
I am planning to transfer this app to a different Apple Developer account and would like to clarify how App Groups behave after the transfer:
Will my main app Target and CallKit Extensions keep access to the same AppGroups containers with the new Team ID? I will recreate the same AppGroups container identifiers on a new account but my concern is about Team ID change, that can lead to loss access to original containers and all data from previous Team ID. I need to clearly understand whether the app can continue accessing the existing App Group container after the Team ID changes, or if I must manually back up data before transfer and restore all data after transfer completed.
As long as the App Group still exists on the original developer account and the user has not updated the app, will the app continue to function normally and access the original App Group container?
If I delete the App Group identifiers from the original developer account and recreate it on the new account:
3.1. Will this immediately apply for existing installed apps?
3.2. Or will the impact only occur after submitting and installing a new app version signed with the new Team ID?
Dear Apple Support Team,
Thank you for your continued support.
I would like to inquire about the behavior of CallKit.
Our company provides an office PBX extension phone application (iPhone app).
When the iPhone is placed into sleep mode (screen off) and our app receives an incoming call, the following sequence sometimes results in an audio playback panel
appearing at the bottom of the lock screen for a few seconds after the call ends(See attachment file for detail).
Sequence to reproduce the issue:
Put the iPhone into sleep mode (screen off).
Receive an incoming call to our extension phone app.
CallKit incoming call screen appears.
Answer the call.
Conduct the call.
End the call from the peer.
iOS versions with confirmed behavior:
iOS 26.0: Not observed.
iOS 26.2: Observed.
iOS 26.3: Not observed.
This behavior does not affect the call functionality itself; however, some users report that the temporary appearance of the audio playback panel feels unusual.
If there is any known reason for this behavior or any recommended workaround, we would greatly appreciate your guidance.
Additionally, if this is a known issue that was addressed in iOS 26.3, we would appreciate any information you can provide regarding that as well.
Thank you very much for your assistance.
Здравствуйте.
Подскажите пожалуйста, кто решил данную проблему?
Спасибо.
Parents often spend lots of time to search for kids' events and government programs. Even after they found ideal ones, they need lots of copy and paste to check Google Map in order to align with their time and location.
My app is designed to solve this pain point. It will handle those time consuming web search and time & location matching. For good user experience, the UI is simple, it recommends nearest kids programs that aligns with parents' time. It also has a Map to show suggestions visually and provides map navigation. Parents are all very busy, the UI has to be simple and easy to use. This app can save parents 60% of time to find kids' programs.
The v1.0.0 of this app got approved. It works well on Android phones all the time, but the map navigation didn't work on iOS. I later realized have to add LSApplicationQueriesSchemes to enable map navigation on iOS app. So I fixed this and tested the new build on iOS phones, the new build 1.0.1 works well. But Apple reviews rejects 1.0.1 because of "Minimum Functionality".
So now I'm in an awkward situation, 1) the app works well on Android 2) the approved iOS build can't open map navigation on iOS 3) the fixed iOS build got rejected because of "Minimum Functionality".... Really frustrating.
Even if I add new features to meet "Minimum Functionality", for parents, they need simple UI because of their busy schedules, adding new features may create more complex UX.
Is that possible to have Apple approve 1.0.1 build first, at least make sure the app works without error for iOS users first, this app can already save parents lots of time. Then give me more time to add new features?
Otherwise, what's the minimum I can add to get the new build approved first? Thank you!
I’m building a teleprompter-style app that relies on Picture in Picture.
PiP starts correctly on device.
Everything works — until another app (e.g. TikTok / Instagram) starts active video recording.
When camera capture begins in the foreground app, iOS terminates my PiP session.
Some teleprompter apps appear to keep PiP active while recording in other apps, so I’m trying to understand the recommended architectural pattern for this scenario.
Is there a documented approach or best practice to keep PiP stable during third-party camera capture?
Looking specifically for guidance on the correct AVKit / AVAudioSession configuration for this use case.
Hello,
In production, a large number of users experience outgoing call reporting fails with the following error:
com.apple.CallKit.error.requesttransaction Code=2
The iOS version doesn't matter, errors are present in v15-26
Details
My CXProvider held as a global singleton, so it’s unlikely to be deinited.
There is no explicit call to CXProvider.invalidate() in the app.
If I manually invalidate the CXProvider, I observe the expected failure when trying to create an outgoing call (com.apple.CallKit.error.requesttransaction error 2).
However, If I recreate the CXProvider after the error, outgoing calls are reported correctly.
Many users trigger the providerDidReset delegate method (CXProviderDelegate) before this error.
According to the documentation, providerDidReset can be called by the system, and we are supposed to end all active calls, but the documentation doesn't suggest recreating the CXProvider.
Question
Should I recreate CXProvider after providerDidReset and forget about that, or could this error be caused by something else?
When you use .navigationTransition(.zoom(sourceID: "placeholder", in: placehoder)) for navigation animation, going back using the swipe gesture is still very buggy on IOS26. I know it has been mentioned in other places like here: https://developer.apple.com/forums/thread/796805?answerId=856846022#856846022 but nothing seems to have been done to fix this issue.
Here is a video showing the bug comparing when the back button is used vs swipe to go back: https://imgur.com/a/JgEusRH
I wish there was a way to at least disable the swipe back gesture until this bug is fixed.
I am currently trying to get my app ready for full external keyboard support, while testing I found an issue with the native DatePicker.
Whenever I enter the DatePicker with an external keyboard it only jumps to the time picker and I am not able to move away from it. Arrow keys don't work, tab and control + tab only move me to the toolbar and back.
This is how they look like
private var datePicker: some View {
DatePicker(
"",
selection: date,
in: minDate...,
displayedComponents: [.date]
)
.fixedSize()
.accessibilityIdentifier("\(datePickerLabel).DatePicker")
}
private var timePicker: some View {
DatePicker(
"",
selection: date,
in: minDate...,
displayedComponents: [.hourAndMinute]
)
.fixedSize()
.accessibilityIdentifier("\(datePickerLabel).TimePicker")
}
private var datePickerLabelView: some View {
Text(datePickerLabel.localizedString)
.accessibilityIdentifier(datePickerLabel)
}
And we implement it like this in the view:
HStack {
datePickerLabelView
Spacer()
datePicker
timePicker
}
Does anyone know how to fix this behavior? Is it our fault or is it the system? The issue comes up both in iOS 18 and 26.
Topic:
Accessibility & Inclusion
SubTopic:
General
Tags:
External Accessory
iOS
Accessibility
SwiftUI
I add the following info in the build settings of my app.
Then I also add the icon to my asset.
I build the app, it works normally, but I notice that when I changed the icon to 'AppIcon-Defaults', The icon change alert didn't appear. but it succeeds
.
I uploaded the archive to App Store I got:
ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons.CFBundleAlternateIcons contains an entry “AppIcon-Defaults” that references asset “AppIcon-Defaults.” No such asset is present in the asset catalog.
Then I use xcrun --sdk iphoneos assetutil --info Assets.car to check the assets inside the archieved app, It have the asset.