Hello,
I would like to seek clarification regarding the availability of the NFC Secure Element (SE) / ISO7816 entitlement by region, specifically for Indonesia.
I recently contacted Apple Developer Support regarding the use of NFC for reading ISO7816-compatible cards. I was informed that, at this time, the NFC & Secure Element entitlement is not available in Indonesia.
For technical planning and compliance purposes, I would like to confirm the following:
Is the NFC Secure Element / ISO7816 entitlement currently restricted by region, and is Indonesia officially unsupported at this time?
For apps distributed on the App Store in Indonesia, is Core NFC limited to NDEF and non–Secure Element tag reading only?
Are there any publicly supported alternatives or recommended architectural approaches for NFC-based workflows in regions where the Secure Element entitlement is unavailable?
Is there any public documentation or guidance that outlines regional availability for NFC Secure Element features?
I understand that entitlement approvals and availability may vary by region and are handled on a case-by-case basis. Any clarification from Apple engineers or developers with experience in this area would be greatly appreciated.
Thank you for your time and assistance.
Best regards.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I failed to resize the icon image from instances of NSRunningApplication. I can only get 32×32 while I'm expecting 16×16.
I felt it unintuitive in first minutes… Then I figured out that macOS menu seems not allowing many UI customizations (for stability?), especially in SwiftUI.
What would be my best solution in SwiftUI? Must I write some boilerplate SwiftUI-AppKit bridging?
So I'm aware that Apple can designate a folder as a "data vault", and access to that folder is limited to applications that have a specific entitlement. I was wondering if there was an equivalent (or the same, I'm not fussy :) feature available to third parties, even if only during the app-store submission ?
To avoid the X-Y problem, what I want to do is have a launch agent with access to a SQLite database, and I want only that launch agent to have access. Any reads of the database will have to be done through an XPC call from the main user-facing application.
I want to store private data into that database, and I don't want there to be any way for any other application to read it. If there's a way to do that without data-vaults I'm all ears :)
I'm not sure if this is really the right place, perhaps the core-os forum would be better, but since the Apple solution is gate-kept by entitlements, I thought I'd start here :)
I currently have a iOS app live on the App Store but I also want to release it on Android, the whole code is in Swift so would that be possible or would I have to rewrite my whole apps code in a different coding language.
Hello!
I need help with the following issue.
I can't create a provisioning profile.
The following error message appears:
The following devices are either already present and have not been modified, or they contain invalid identifiers.
I'm a beginner and have been struggling with this issue for a month and a half.
Any help would be appreciated.
I want to migrate from a Safari App Extension to a Safari Web Extension, but don't know how to get rid of the message, telling users that my extension can access their passwords. Here is a message which I see:
I was thinking that this might be because all Safari Web Extension get this type of access, but I have a Safari Web Extension which does not require such level of access:
Here is the manifest:
{
"manifest_version": 2,
"default_locale": "en",
"name": "__MSG_extension_name__",
"description": "__MSG_extension_description__",
"version": "1.1",
"icons": {
"48": "images/icon-48.png"
},
"background": {
"scripts": [
"background.js"
],
"persistent": true
},
"browser_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/toolbar-icon-16.png"
}
},
"permissions": [
"nativeMessaging", "tabs"
]
}
and here is the Info.plist file:
Here is the entire code of the extension:
https://github.com/kopyl/web-extension-simplified
I develop a tab manager extension: https://apps.apple.com/ua/app/tab-finder-for-safari/id6741719894
It's written purely in Swift. All Safari interactions are done solely inside a SFSafariExtensionHandler .
But now i'm considering adding some features from Google Chrome's Extension API like window switching.
Is it possible to add a background.js worker to my existing Safari App Extension to have access to the beginRequest method override inside SFSafariExtensionHandler?
Without converting my extension from Safari App Extension to Safari Web Extenion?
I'm experimenting with Foundation Models and I'm trying to understand how to define a Tool whose input argument is defined at runtime. Specifically, I want a Tool that takes a single String parameter that can only take certain values defined at runtime.
I think my question is basically the same as this one: https://developer.apple.com/forums/thread/793471 However, the answer provided by the engineer doesn't actually demonstrate how to create the GenerationSchema. Trying to piece things together from the documentation that the engineer linked to, I came up with this:
let citiesDefinedAtRuntime = ["London", "New York", "Paris"]
let citySchema = DynamicGenerationSchema(
name: "CityList",
properties: [
DynamicGenerationSchema.Property(
name: "city",
schema: DynamicGenerationSchema(
name: "city",
anyOf: citiesDefinedAtRuntime
)
)
]
)
let generationSchema = try GenerationSchema(root: citySchema, dependencies: [])
let tools = [CityInfo(parameters: generationSchema)]
let session = LanguageModelSession(tools: tools, instructions: "...")
With the CityInfo Tool defined like this:
struct CityInfo: Tool {
let name: String = "getCityInfo"
let description: String = "Get information about a city."
let parameters: GenerationSchema
func call(arguments: GeneratedContent) throws -> String {
let cityName = try arguments.value(String.self, forProperty: "city")
print("Requested info about \(cityName)")
let cityInfo = getCityInfo(for: cityName)
return cityInfo
}
func getCityInfo(for city: String) -> String {
// some backend that provides the info
}
}
This compiles and usually seems to work. However, sometimes the model will try to request info about a city that is not in citiesDefinedAtRuntime. For example, if I prompt the model with "I want to travel to Tokyo in Japan, can you tell me about this city?", the model will try to request info about Tokyo, even though this is not in the citiesDefinedAtRuntime array.
My understanding is that this should not be possible – constrained generation should only allow the LLM to generate an input argument from the list of cities defined in the schema.
Am I missing something here or overcomplicating things?
What's the correct way to make sure the LLM can only call a Tool with an input parameter from a set of possible values defined at runtime?
Many thanks!
Topic:
Machine Learning & AI
SubTopic:
Foundation Models
Hey there!
I have a few questions about the Swift Student Challenge:
Is it acceptable to include placeholders for features that aren’t supported by Swift Playgrounds, or features I planned but didn’t have time to fully implement (as long as the core experience works)?
My app relies a lot on user inputs. Is it okay to include a button that loads sample data for reviewers, or is there a preferred approach for this?
Besides the known constraints (< 25 MB, experienceable within ~3 minutes), are there any other limits, e.g. lines of code or overall app complexity
Can AI-generated assets (e.g. images) be used if they’re clearly labeled as such inside the app?
Do we need to explicitly document where AI was used (assets, code, etc.) as part of the submission?
My app uses the Foundation Model: On what device is the submission evaluated and should the usage of the Foundation Model be explicitly marked for reviewers?
Thanks a lot, and sorry for the many questions!
https://developer.apple.com/documentation/NetworkExtension/filtering-network-traffic
App example not auto reconnect after network extension crush.
what need to add for auto reconnect when network extension restart?
I’m trying to use EXR lightmaps to overlay baked lighting on top of a base texture in the RCP Shader Graph.
When I multiply an EXR image set to Image(float) with an 8-bit base texture, the output becomes Image(float). I can’t connect that to the BaseColor input on the UnlitSurface node, since it only accepts Color3f.
I expected to be able to use a Convert node between the Multiply node and the BaseColor input, but when I do that, the result becomes black and white instead of the expected outcome: the EXR multiplied with the base texture using a baseline value of 1, where values below 1 in the EXR would darken the base texture and values above 1 would brighten it.
Is there any documentation on how to properly overlay a 32-bit EXR lightmap in the RCP Shader Graph, or is the black-and-white output from the Convert node a bug?
Topic:
Graphics & Games
SubTopic:
RealityKit
Tags:
RealityKit
Reality Composer Pro
Shader Graph Editor
Consider this code:
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
EmptyView()
}
}
}
Which looks like this:
How can I prevent the sidebar from being resized by a mouse and from being hidden?
P.S. Can consider using AppKit if it can help.
I'm developing an IOS time management app, and want to sync data from ios local calendar. How to incrementally synchronize data after full synchronization?
we have 80 users occur error,when use aca pay
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect API
I’m reaching out regarding an issue we’ve been experiencing with BGProcessingTask since upgrading to Xcode 26.1.1.
Issue Summary
Our daily background processing task—scheduled shortly after end‑of‑day—has stopped triggering reliably at night. This behavior started occurring only after updating to Xcode 26.1.1. Prior to this update, the task consistently ran around midnight, executed for ~10–15 seconds, and successfully rescheduled itself for the next day.
Expected Behavior
BGProcessingTask should run at/near the scheduled earliestBeginDate, which we set to roughly 2 hours after end-of-day.
The task should execute, complete, and then reschedule itself.
Actual Behavior
On devices running builds compiled with Xcode 26.1.1, the task does not trigger at all during the night.
The same code worked reliably before the Xcode update.
No system logs indicate rejection, expiration, or background task denial.
Technical Details
This is the identifier we use:
private enum DayEndProcessorConst {
static let taskIdentifier = "com.company.sdkmanagement.daysummary.manager"
}
The task is registered as follows: When app launched
BGTaskScheduler.shared.register(
forTaskWithIdentifier: DayEndProcessorConst.taskIdentifier,
using: nil
) { [weak self] task in
self?.handleDayEndTask(task)
}
And scheduled like this:
let date = Calendar.current.endOfDay(for: Date()).addingTimeInterval(60 * 60 * 2)
let request = BGProcessingTaskRequest(identifier: DayEndProcessorConst.taskIdentifier)
request.requiresNetworkConnectivity = true
request.requiresExternalPower = false
request.earliestBeginDate = date
try BGTaskScheduler.shared.submit(request)
As per our logs, tasks scheduled successfully
The handler wraps the work in an operation queue, begins a UI background task, and marks completion appropriately:
task.setTaskCompleted(success: true)
Could you please advise whether:
There are known issues with BGProcessingTask scheduling or midnight execution in Xcode 26.1.1 or iOS versions associated with it?
Any new entitlement, configuration, or scheduler behavior has changed in recent releases?
Additional logging or diagnostics can help pinpoint why the scheduler never fires the task?
This is my first iOS app release and I’m a bit confused. The initial version was reviewed in under 12 hours (rejected), and the corrected version was approved just as quickly. But my Product Page Optimization with only screenshots has been stuck in “Waiting for Review” for four days. Do these get reviewed only with new versions, or should I just wait it out?
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
App Review
App Store Connect
I’m running into a problem with SwiftUI/AppKit event handling on macOS Tahoe 26.2.
I have a layered view setup:
Bottom: AppKit NSView (NSViewRepresentable)
Middle: SwiftUI view in an NSHostingView with drag/tap gestures
Top: Another SwiftUI view in an NSHostingView
On macOS 26.2, the middle NSHostingView no longer receives mouse or drag events when the top NSHostingView is present. Events pass through to the AppKit view below. Removing the top layer immediately restores interaction. Everything works correctly on macOS Sequoia.
I’ve posted a full reproducible example and detailed explanation on Stack Overflow, including a single-file demo:
Stack Overflow post:
https://stackoverflow.com/q/79862332
I also found a related older discussion here, but couldn’t get the suggested workaround to apply:
https://developer.apple.com/forums/thread/759081
Any guidance would be appreciated.
Thanks!
Hello,
I have a CarPlay Navigation app and utilize the AVSpeechSynthesizer to speak directions to a user. Everything works great on my CarPlay simulator as well as when plugged into my GMC truck. However, I found out yesterday that one of my users with a Ford truck the audio would cut in an out.
After much troubleshooting, I was able to replicate this on my own truck when using Bluetooth to connect to CarPlay. My user was also utilizing Bluetooth. Has anyone else experienced this? Is there a fix to the problem?
import SwiftUI
import AVFoundation
class TextToSpeechService: NSObject, ObservableObject, AVSpeechSynthesizerDelegate {
private var speechSynthesizer = AVSpeechSynthesizer()
static let shared = TextToSpeechService()
override init() {
super.init()
speechSynthesizer.delegate = self
}
func configureAudioSession() {
speechSynthesizer.delegate = self
do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .voicePrompt, options: [.mixWithOthers, .allowBluetooth])
} catch {
print("Failed to set audio session category: \(error.localizedDescription)")
}
}
func speak(_ text: String) {
Task(priority: .high) {
let speechUtterance = AVSpeechUtterance(string: text)
speechUtterance.voice = AVSpeechSynthesisVoice(language: AVSpeechSynthesisVoice.currentLanguageCode())
try AVAudioSession.sharedInstance().setActive(true, options: .notifyOthersOnDeactivation)
speechSynthesizer.speak(speechUtterance)
}
}
func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
Task {
stopSpeech()
try AVAudioSession.sharedInstance().setActive(false)
}
}
func stopSpeech() {
speechSynthesizer.stopSpeaking(at: .immediate)
}
}
Hi all,
I’m working on the alternative marketplace app and using MarketplaceKit and ActionButton. On the main page, users see a list of items, each with an ActionButton. I’m experiencing significant UI hangs when this page loads.
What I’ve Observed:
Instruments (Hangs and SwiftUI profilers) show that the hangs occur when ActionButton instances are rendered.
Creating or updating ActionButton properties triggers synchronous XPC communication with the managedappdistributiond process on the main thread.
Each XPC call takes about 2-3 ms, but with many ActionButtons, the cumulative delay is noticeable and impacts the user experience.
I have tested on iOS 18.7 and 26.1, using Xcode 26.2. But in general, the issue is not specific to a device or iOS version.
The problem occurs in both Debug and Release builds.
Hangs can be severe depending on the number of items in a section, generally between 200-600 ms, resulting in noticeable lag and a poor user experience.
I haven’t found much documentation on the internal workings of ActionButton or why these XPC calls are necessary.
I have tried Lazy loading and reducing the amount of ActionButton instances. That makes the hangs less noticeable, but there are still hitches when new sections with items are added to the view hierarchy.
This is not an issue with SwiftUI or view updates in general. If I replace ActionButton with UIButton, the hangs are completely gone.
Minimal Example:
Here’s a simplified version of how I’m using ActionButton in my SwiftUI view. The performance issue occurs when many of these views are rendered in the list:
struct ActionButtonView: UIViewRepresentable {
let viewModel: ActionButtonViewModel
let style: ActionButtonStyle
func makeUIView(context: Context) -> ActionButton {
return ActionButton(action: viewModel.action)
}
func updateUIView(_ uiView: ActionButton, context: Context) {
uiView.update(\.size, with: context.coordinator.size)
uiView.update(\.label, with: viewModel.title)
uiView.update(\.isEnabled, with: context.environment.isEnabled)
uiView.update(\.fontSize, with: style.scaledFont(for: viewModel.title))
uiView.update(\.backgroundColor, with: style.backgroundColor.color)
uiView.update(\.tintColor, with: style.textAndIconColor)
uiView.update(\.cornerRadius, with: style.cornerRadius(height: uiView.frame.size.height))
uiView.update(\.accessibilityLabel, with: viewModel.accessibilityLabel)
uiView.update(\.accessibilityTraits, with: .button)
uiView.update(\.accessibilityUserInputLabels, with: viewModel.accesibilityUserInputLabels)
uiView.update(\.tintAdjustmentMode, with: .normal)
}
func makeCoordinator() -> Coordinator {
Coordinator(viewModel: viewModel)
}
class Coordinator: NSObject {
...
}
}
extension ActionButton {
fileprivate func update<T>(_ keyPath: WritableKeyPath<ActionButton, T>, with value: T)
where T: Equatable {
if self[keyPath: keyPath] == value { return }
var mutableSelf = self
mutableSelf[keyPath: keyPath] = value
}
}
From the Instruments samples, it’s clear that the performance issues originate from NativeActionButtonView.makeUIView(context:) and NativeActionButtonView.updateUIView(_:context:). The following stack trace is common for all blocking calls, indicating that NSXPCConnection is being used for cross-process communication:
mach_msg2_trap
mach_msg2_internal
mach_msg_overwrite
mach_msg
_dispatch_mach_send_and_wait_for_reply
dispatch_mach_send_with_result_and_wait_for_reply
xpc_connection_send_message_with_reply_sync
__NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__
-[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:]
___forwarding___
_CF_forwarding_prep_0
__35-[_UISlotView _setContentDelegate:]_block_invoke_2
-[_UISlotView _updateContent]
...
NativeActionButtonView.sizeThatFits(_:uiView:context:)
protocol witness for UIViewRepresentable.sizeThatFits(_:uiView:context:) in conformance NativeActionButtonView
...
Additionally, the Thread State Trace shows that during the XPC calls, the main thread is blocked and is later made runnable by managedappdistributiond. This confirms that the app is indeed communicating with the managedappdistributiond process.
Since there is limited documentation and information available, I have some questions:
Is there a way to batch update ActionButton properties to reduce the number of XPC calls?
Is it possible to avoid or defer XPC communication when creating/updating ActionButton instances?
Are there best practices for efficiently rendering large numbers of ActionButtons in SwiftUI?
Is this a known issue, and are there any recommended workarounds?
Can Apple provide more details on ActionButton’s internal behavior and XPC usage?
Any insights or suggestions would be greatly appreciated!
Topic:
UI Frameworks
SubTopic:
SwiftUI
@Apple Developer Support
Hello,
It has now been more than 72 hours since my Apple Developer Program purchase.
The payment was completed and the invoice was issued.
Order Number: W1302770460
I have not received any response to my previous support requests, and my membership is still not active.
Please escalate this case and complete the manual activation of my membership as soon as possible.
Thank you.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program