iOS 26 SwiftUI .glassEffect() renders dark/gray on physical device - TestFlight doesn't fix it
.glassEffect() renders as dark/muddy gray on my physical iPhone instead of the light frosted glass like Apple Music's tab bar.
What I've confirmed:
Same code works perfectly on iOS Simulator
Apple Music and other Apple apps show correct Liquid Glass on same device
Brand new Xcode project with just .glassEffect() also renders dark
TestFlight build (App Store signing) has the SAME problem - still dark/gray
This rules out developer signing vs App Store signing as the cause
What I've tried:
Clean build, delete derived data, reinstall app
Completely reinstalled Xcode
All accessibility settings correct (Reduce Transparency OFF, Liquid Glass set to Clear)
Disabled Metal diagnostics
Debug and Release builds
Added window configuration for Extended sRGB/P3 color space
Added AppDelegate with configureWindowForLiquidGlass()
Tried .preferredColorScheme(nil)
Tried background animation to force "live" rendering
Environment:
iPhone 17 Pro, iOS 26.3
Xcode 26.2
macOS 26.3
The question:
Why does .glassEffect() work for Apple's apps but not third party apps, even with App Store signing via TestFlight? What am I missing?
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I'm having troubles converting my string catalog to symbols because for partly translated languages there is no fallback to the reference language. Let me give you an example.
Example
Assume an app that supports two languages: English and Japanese. The app is very simple and has only two strings, using symbols in a String Catalog:
Key: .helloWorld → “Hello World!”
Key: .info → “Information”
Case 1: No Japanese translations
If I launch the app in Japanese and neither string is translated, English is used as a fallback.
The UI shows:
“Hello World!”
“Information”
This is exactly what I would expect.
Case 2: Only one string translated
Now assume I translate only one string into Japanese:
.helloWorld → “こんにちは世界”
When I launch the app in Japanese now:
.helloWorld correctly shows “こんにちは世界”
.info shows info, not “Information”
So instead of falling back to English, the key is displayed.
This issue does not pop up when I don't use symbols. Because then, my SwiftUI Text elements contain the English ideal text as a (kind of) key.
I assume for commercial apps all strings are always translated into all supported languages. But this is not the case for apps where translations happens through crowd translations. Check the following link. There you will see that only English (reference language) and German (my native language) are 100% translated. Others will follow over time.
https://poeditor.com/join/project/J2Qq2SUzYr
For now, I guess I'll have to avoid symbols. Or is there a better way to handle this?
A user of my app reported that when my app copies files from a QNAP NAS to a folder on their Mac, they get the error "Result too large". When copying the same files from the Desktop, it works.
I asked them to reproduce the issue with the sample code below and they confirmed that it reproduces. They contacted QNAP for support who in turn contacted me saying that they are not sure they can do anything about it, and asking if Apple can help.
Both the app user and QNAP are willing to help, but at this point I'm also unsure how to proceed. Can someone at Apple say anything about this? Is this something QNAP should solve, or is this a bug in macOS?
P.S.: I've had users in the past who reported the same issue with other brands, mostly Synology.
import Cocoa
@main
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
let openPanel = NSOpenPanel()
openPanel.canChooseDirectories = true
openPanel.runModal()
let source = openPanel.urls[0]
openPanel.canChooseFiles = false
openPanel.runModal()
let destination = openPanel.urls[0]
do {
try copyFile(from: source, to: destination.appendingPathComponent(source.lastPathComponent, isDirectory: false))
} catch {
NSAlert(error: error).runModal()
}
NSApp.terminate(nil)
}
private func copyFile(from source: URL, to destination: URL) throws {
if try source.resourceValues(forKeys: [.isDirectoryKey]).isDirectory == true {
try FileManager.default.createDirectory(at: destination, withIntermediateDirectories: false)
for source in try FileManager.default.contentsOfDirectory(at: source, includingPropertiesForKeys: nil) {
try copyFile(from: source, to: destination.appendingPathComponent(source.lastPathComponent, isDirectory: false))
}
} else {
try copyRegularFile(from: source, to: destination)
}
}
private func copyRegularFile(from source: URL, to destination: URL) throws {
let state = copyfile_state_alloc()
defer {
copyfile_state_free(state)
}
var bsize = UInt32(16_777_216)
if copyfile_state_set(state, UInt32(COPYFILE_STATE_BSIZE), &bsize) != 0 {
throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
} else if copyfile_state_set(state, UInt32(COPYFILE_STATE_STATUS_CB), unsafeBitCast(copyfileCallback, to: UnsafeRawPointer.self)) != 0 {
throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
} else if copyfile(source.path, destination.path, state, copyfile_flags_t(COPYFILE_DATA | COPYFILE_SECURITY | COPYFILE_NOFOLLOW | COPYFILE_EXCL | COPYFILE_XATTR)) != 0 {
throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
}
}
private let copyfileCallback: copyfile_callback_t = { what, stage, state, src, dst, ctx in
if what == COPYFILE_COPY_DATA {
if stage == COPYFILE_ERR {
return COPYFILE_QUIT
}
}
return COPYFILE_CONTINUE
}
}
Hello. We are facing very silent and hardly replicable issue. All UserDefaults.standard data the application saved and was using to determine the state of app is lost and app behaves as if it was freshly installed.
The issue always occurs only if we leave app on background for long time or if we manually swipe the app from the background apps. In case we swipe, this issue can occur in minutes, hours or up to 2 days by our latest testing.
One important factor is that the app was developed using iOS18 in which issue never occured. Next it was being tested on iOS26 and it did everytime. Any currently available version of iOS26 reported this issue, all the way up to 26.2.1 (23C71). Our application is going through major upgrade of its whole lifecycle and services so it is possible this issue is caused by a bug in development as the production version does not report this issue neither on iOS26 of any version.
The following list contains how we tried to fix this issue but none of which helped.
App prewarming in the background (postpone all initialization including searching UserDefaults.standard for when isProtectedDataAvailable)
Calling UserDefaults.standard.synchronize() everytime after saving data despite it is not recomended
Built app using different SDK's (tested on iOS18 and iOS26 SDK)
Distributed the app from local machine aswell as on TestFlight itself
We searched through currently opened and closed issues for third-party libraries app uses regarding 'iOS26' and 'UserDefaults', especially those who were added recently with no success.
The structure using which we save data into UserDefaults.standard did not change, we have only added few more settings to save through the lifecycle of the app after update. We estimate the overall increase is merely 30% more of what it used to be in previous version.
Any ideas are much appreciated. We are considering to use different or fully custom ways to store app's settings.
I'm trying to replicate edit/select mode of iOS 26 photos app. When user clicks Select button, bottom tab bar is replaced by the toolbar buttons. When I press Done button, a white opaque bar appears at the bottom behind the tabbar. It looks pretty straightforward to implement but I'm banging my head here now. Any help will be appreciated.
Code and animation frames attached bellow
struct ContentView: View {
var body: some View {
TabView(selection: $selectedTab) {
OverviewView()
.tabItem {
Image(systemName: "chart.pie")
Text("Overview")
}
.tag(0)
//rest of the tabs
}
}
}
struct OverviewView: View {
@State private var editActive = false
@State private var selection = Set<String>()
@State private var items = [
"Item 1",
"Item 2",
"Item 3",
]
var body: some View {
NavigationStack {
List(selection: $selection) {
ForEach(items, id: \.self) { item in
Text(item)
}
}
.toolbar {
if editActive {
ToolbarItem(placement: .bottomBar) {
Button {
} label: {
Label("Delete", systemImage: "trash")
}
}
ToolbarItem(placement: .bottomBar) {
Button {
} label: {
Label("Category", systemImage: "tag")
}
}
}
ToolbarItem(placement: .topBarTrailing) {
Button(editActive ? "Done" : "Select") {
withAnimation {
editActive.toggle()
}
}
}
}
.environment(\.editMode, .constant(editActive ? .active : .inactive))
.toolbar(editActive ? .hidden : .visible, for: .tabBar)
}
}
}
I have attached 5 frames during animation phase.
I have a desktop application developed in SwiftUI that shows property locations on the map. That's NOT the main feature. IF you give the application permission to access your location, the blue dot will appear on the map. If you don't, the blue user dot won't appear. That's the only difference with location services. In other words, the application has no use of user's current position beyond showing it on the map. Since it's just the matter of showing or not showing the blue dot on the map, the application doesn't really need to use the location service. Anyway, the reviewer is talking about something else by rejecting the application in two aspects.
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
Guideline 5.1.5 - Legal - Privacy - Location Services
As I said earlier, the application only wants to show the blue dot on the map so that you can see your property locations relative to your current location. In code, it's something like the following.
Map(position: $propertyViewModel.mapPosition) {
ForEach(propertyViewModel.properties) { property in
Annotation("", coordinate: CLLocationCoordinate2D(latitude: property.lat, longitude: property.lon)) {
...
}
}
UserAnnotation()
}
So I'm hit with two rejection reasons with this one line.
UserAnnotation()
And the reviewer is talking about something like
the app is not functional when Location Services are disabled.
To resolve this issue, please revise the app so that the app is fully functional without requiring the user to enable Location Services.
Well, I can remove the UserAnnotation() line if I want to put this application through the review process. Nothing will become dysfunctional, though, if you decide to reject permission request. So
would you remove it
or would you play along with this reviewer
if you were me? It's been three or four days since rejection. As you can imagine, the reviewer doesn't bother to answer as to
What are the exact coordinates that the application has allegedly collected
What won't work as a result of location permission request refusal.
This isn't the first time I get my app rejected. I've probably had 150 to 200 of them rejected in the past 15 years. And just because a reviewer rejects your app for a bizarre reason, would you give in? Remove this feature and that feature because the reviewer is incompetent such that he or she makes his or her decision based on imagination? What do you think?
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Review
Privacy
SwiftUI
Maps and Location
Or, can we consider the response completes once the prompt disappears?
I will write down the sequence of events in order.
A prompt appeared on our app's page asking us to respond to the survey.
However, likely because the app hadn't been updated for many years, the “Edit” option for age restrictions was not displayed; instead, “View” was shown.
After creating a page for the new app version, “Edit” appeared. We hadn't planned to release the new version to the App Store at this time, but we only created the new page to respond to this survey.
After entering “edit” and answering the age restriction survey, the prompt disappeared.
I contacted Apple Support to find out if just answering would suffice, but they told me to submit the app for review. However, as mentioned above, we have no plans to modify and release this app.
Since it's an old app, I updated the environment, built it, and submitted it, but issues were pointed out. (I think it's because it's an old app.)
When I asked the Apple Review team the same question as at the beginning, they suggested I post it here.
Many thanks!
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Review
App Store Connect
Hi everyone,
We are currently exploring ways to implement a frictionless Wi-Fi setup for our hardware devices without requiring a dedicated third-party application. We are interested in leveraging Apple's WAC (Wireless Accessory Configuration) to sync Wi-Fi credentials directly from iOS devices. However, we have struggled to find comprehensive technical documentation or specifications regarding the WAC service. Could anyone point us to the official source for these materials?
Additionally, we have a couple of technical questions:
1.We are testing WAC provisioning and found that the Home app can discover our device and successfully get it online. However, it always ends with a "Failed to add accessory" message.
Does WAC support imply that a device should be addable via the Home app? If not, why is the Home app able to discover and start the setup for a non-HomeKit WAC device?
2. Our device is already Apple AirPlay certified. Does implementing WAC require additional standalone certification, or is it covered under the existing MFi/AirPlay certification umbrella?
Any insights or guidance would be greatly appreciated. Thank you!
We put the apple-app-site-association file at https://ourdomain.com.tr/.well-known/apple-app-site-association.
When we send a request to url, we get 200 response code every time and we can see the file. But sometimes when we try to access https://app-site-association.cdn-apple.com/a/v1/ourdomain.com.tr url with browser or CMD tool, we are facing with 404 response code.
There isn't any ip adress filter in our systems and we tried using vpn for sending same request from different locations(america and europe) but nothing changed.
In addition, can anyone provide the ip list of apple cdn servers to check the F5 Load balancer WAF logs?
CMD output:
C:\Users\Name>curl -Lv https://app-site-association.cdn-apple.com/a/v1/ourdomain.com.tr
Host app-site-association.cdn-apple.com:443 was resolved.
IPv6: (none)
IPv4: 17.253.122.197, 17.253.15.210, 17.253.122.196, 17.253.107.201, 17.253.57.203, 17.253.15.198, 17.253.57.200
Trying 17.253.122.197:443...
Connected to app-site-association.cdn-apple.com (17.253.122.197) port 443
schannel: disabled automatic use of client certificate
ALPN: curl offers http/1.1
ALPN: server accepted http/1.1
using HTTP/1.x
GET /a/v1/ourdomain.com HTTP/1.1
Host: app-site-association.cdn-apple.com
User-Agent: curl/8.9.1
Accept: /
Request completely sent off
schannel: remote party requests renegotiation
schannel: renegotiating SSL/TLS connection
schannel: SSL/TLS connection renegotiated
< HTTP/1.1 404 Not Found
< Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
< Apple-Failure-Reason: SWCERR00301 Timeout
< Apple-From: https://ourdomain.com.tr/.well-known/apple-app-site-association
< Apple-Try-Direct: true
< Cache-Control: max-age=3600,public
< Content-Length: 10
< Content-Type: text/plain; charset=utf-8
< Date: Mon, 14 Apr 2025 12:52:04 GMT
< Expires: Mon, 14 Apr 2025 12:52:14 GMT
< Age: 1770
< Via: http/1.1 uklon5-vp-vst-004.ts.apple.com (acdn/268.14469), https/1.1 uklon5-vp-vfe-002.ts.apple.com (acdn/268.14469), http/1.1 frmrs1-edge-mx-008.ts.apple.com (acdn/268.14469), http/1.1 frmrs1-edge-fx-005.ts.apple.com (acdn/268.14469)
< X-Cache: hit-fresh, hit-stale, hit-fresh, hit-fresh
< CDNUUID: 9e72cf99-1503-4644-9ea3-173328a25c94-31496306226
< Connection: keep-alive
<
Not Found
Connection #0 to host app-site-association.cdn-apple.com left intact
I am trying to make an app icon 20 x 20 pixel dimension. I cannot get the icon to be sized this way. It gets blurry. I have used adobe express + illustrator. I have not been able to size it. It is a 400 x 400 dimension png. I want the proportion to be 20 x 20 without losing the clarity.
When using the [AVAudioSession setCategory:withOptions:error:] API, the call hangs for a long time and eventually returns an error.This issue occurs on iOS 16, and did not appear in earlier versions.
Thread 135:
0 libsystem_kernel.dylib 0x00000002478e3cd4 _mach_msg2_trap :8 (in libsystem_kernel.dylib)
1 libsystem_kernel.dylib 0x00000002478e7214 _mach_msg_overwrite :428 (in libsystem_kernel.dylib)
2 libsystem_kernel.dylib 0x00000002478e705c _mach_msg :24 (in libsystem_kernel.dylib)
3 libdispatch.dylib 0x00000001d63ffe84 __dispatch_mach_send_and_wait_for_reply :548 (in libdispatch.dylib)
4 libdispatch.dylib 0x00000001d6400224 _dispatch_mach_send_with_result_and_wait_for_reply :60 (in libdispatch.dylib)
5 libxpc.dylib 0x00000001b2114e04 _xpc_connection_send_message_with_reply_sync :256 (in libxpc.dylib)
6 Foundation 0x000000019b6249f0 ___NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__ :16 (in Foundation)
7 Foundation 0x000000019c06d1b4 -[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:] :2100 (in Foundation)
8 CoreFoundation 0x000000019dfcb1cc ____forwarding___ :1072 (in CoreFoundation)
9 CoreFoundation 0x000000019dfd3200 ___forwarding_prep_0___ :96 (in CoreFoundation)
10 AudioSession 0x00000001c77498b0 __ZN4avas6client11SessionCore10HandlePingEv :192 (in AudioSession)
11 AudioSession 0x00000001c77497b0 ____ZN4avas6client11SessionCore12DispatchPingEv_block_invoke :52 (in AudioSession)
12 libdispatch.dylib 0x00000001d63e4adc __dispatch_call_block_and_release :32 (in libdispatch.dylib)
13 libdispatch.dylib 0x00000001d63fe7ec __dispatch_client_callout :16 (in libdispatch.dylib)
14 libdispatch.dylib 0x00000001d63ed468 __dispatch_lane_serial_drain :740 (in libdispatch.dylib)
15 libdispatch.dylib 0x00000001d63edf78 __dispatch_lane_invoke :440 (in libdispatch.dylib)
16 libdispatch.dylib 0x00000001d63f6f48 __dispatch_root_queue_drain :364 (in libdispatch.dylib)
17 libdispatch.dylib 0x00000001d63f6d08 __dispatch_worker_thread :268 (in libdispatch.dylib)
18 libsystem_pthread.dylib 0x00000001f9ff144c __pthread_start :136 (in libsystem_pthread.dylib)
19 libsystem_pthread.dylib 0x00000001f9fed8cc _thread_start :8 (in libsystem_pthread.dylib)
Thread 132:
0 libsystem_kernel.dylib 0x00000002478e3cd4 _mach_msg2_trap :8 (in libsystem_kernel.dylib)
1 libsystem_kernel.dylib 0x00000002478e7214 _mach_msg_overwrite :428 (in libsystem_kernel.dylib)
2 libsystem_kernel.dylib 0x00000002478e705c _mach_msg :24 (in libsystem_kernel.dylib)
3 libdispatch.dylib 0x00000001d63ffe84 __dispatch_mach_send_and_wait_for_reply :548 (in libdispatch.dylib)
4 libdispatch.dylib 0x00000001d6400224 _dispatch_mach_send_with_result_and_wait_for_reply :60 (in libdispatch.dylib)
5 libxpc.dylib 0x00000001b2114e04 _xpc_connection_send_message_with_reply_sync :256 (in libxpc.dylib)
6 Foundation 0x000000019b6249f0 ___NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__ :16 (in Foundation)
7 Foundation 0x000000019c06d1b4 -[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:] :2100 (in Foundation)
8 CoreFoundation 0x000000019dfcb1cc ____forwarding___ :1072 (in CoreFoundation)
9 CoreFoundation 0x000000019dfd3200 ___forwarding_prep_0___ :96 (in CoreFoundation)
10 AudioSession 0x00000001c7754198 __ZNK4avas6client11SessionCore18SetBatchPropertiesEP12NSDictionaryIP8NSStringPU25objcproto14NSSecureCoding11objc_objectEPU15__autoreleasingP7NSArrayIPS2_IS4_P8NSNumberEENS_30AVAudioSessionBatchSetStrategyEbb :548 (in AudioSession)
11 AudioSession 0x00000001c7753e58 __ZNK4avas6client11SessionCore20SetBatchPropertiesMXEP12NSDictionaryIP8NSStringPU25objcproto14NSSecureCoding11objc_objectE :92 (in AudioSession)
12 AudioSession 0x00000001c775179c __ZN4avas6client11SessionCore11setCategoryEP8NSStringS3_32AVAudioSessionRouteSharingPolicym :472 (in AudioSession)
13 AudioSession 0x00000001c7768f88 -[AVAudioSession setCategory:withOptions:error:] :68 (in AudioSession)
14 AlipayWallet 0x000000010140580c -[AVAudioSession(APMHook) apmhook_setCategory:withOptions:error:] APMHookAudioSession.m:35 (in AlipayWallet)
15 AlipayWallet 0x00000001014001a4 -[APMAudioSessionManager resume] APMAudioSessionManager.m:718 (in AlipayWallet)
16 libdispatch.dylib 0x00000001d63e4adc __dispatch_call_block_and_release :32 (in libdispatch.dylib)
17 libdispatch.dylib 0x00000001d63fe7ec __dispatch_client_callout :16 (in libdispatch.dylib)
18 libdispatch.dylib 0x00000001d63ed468 __dispatch_lane_serial_drain :740 (in libdispatch.dylib)
19 libdispatch.dylib 0x00000001d63edf44 __dispatch_lane_invoke :388 (in libdispatch.dylib)
20 libdispatch.dylib 0x00000001d63f83ec __dispatch_root_queue_drain_deferred_wlh :292 (in libdispatch.dylib)
21 libdispatch.dylib 0x00000001d63f7ce4 __dispatch_workloop_worker_thread :692 (in libdispatch.dylib)
22 libsystem_pthread.dylib 0x00000001f9fee3b8 __pthread_wqthread :292 (in libsystem_pthread.dylib)
23 libsystem_pthread.dylib 0x00000001f9fed8c0 _start_wqthread :8 (in libsystem_pthread.dylib)
We are using SecItemCopyMatching from LocalAuthentication to access the private key to sign a challenge in our native iOS app twice in a few seconds from user interactions.
This was working as expected up until about a week ago where we started getting reports of it hanging on the biometrics screen (see screenshot below).
From our investigation we've found the following:
It impacts newer iPhones using iOS 26.1 and later. We have replicated on these devices:
iPhone 17 Pro max
iPhone 16 Pro
iPhone 15 Pro max
iPhone 15
Only reproducible if the app tries to access the private key twice in quick succession after granting access to face ID.
Looks like a race condition between the biometrics permission prompt and Keychain private key access
We were able to make it work by waiting 10 seconds between private key actions, but this is terrible UX.
We tried adding adding retries over the span of 10 seconds which fixed it on some devices, but not all.
We checked the release notes for iOS 26.1, but there is nothing related to this.
Screenshot:
Topic:
Privacy & Security
SubTopic:
General
Tags:
Face ID
Entitlements
Touch ID
Local Authentication
Hello! I'm using the new Xcode 26.3 RC and it's new MCP server:
However, I am repeatedly prompted to give access to Codex (both the new macOS app and the CLI).
And I'm seeing duplicates in the Xcode dropdown:
It's pretty blocking in my workflow as I have to keep Allowing over and over again.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Based on https://developer.apple.com/documentation/networkextension/nednssettings/searchdomains , we expect the values mentioned in searchDomains to be appended to a single label DNS query. However, we are not seeing this behavior.
We have a packetTunnelProvider VPN, where we set searchDomains to a dns suffix (for ex: test.com) and we set matchDomains to applications and suffix (for ex: abc.com and test.com) . When a user tries to access https://myapp , we expect to see a DNS query packet for myapp.test.com . However, this is not happening when matchDomainsNoSearch is set to true. https://developer.apple.com/documentation/networkextension/nednssettings/matchdomainsnosearch
When matchDomainsNoSearch is set to false, we see dns queries for myapp.test.com and myapp.abc.com.
What is the expected behavior of searchDomains?
I’m seeing unexpected UITabBar behavior on iOS 26 when Liquid Glass is enabled.
I’m using UITabBarAppearance with a dynamic UIColor to keep the selected tab bar icon and title text in sync (blue in light mode, green in dark mode).
Expected behavior
The selected tab bar icon and title text should always resolve to the same color based on the current trait collection.
Actual behavior
On initial load, the colors are correct. However, after switching light/dark mode (or any trait change that triggers a material update):
The icon keeps the configured color
The title text color is overridden by the system
Result: selected icon and title text end up with different colors
This happens even though both colors are explicitly set to the same dynamic UIColor.
Minimal reproducible example:
func applyAppearance() {
let color = UIColor { trait in
trait.userInterfaceStyle == .dark ? .green : .blue
}
self.tabBar.tintColor = color
}
Topic:
UI Frameworks
SubTopic:
UIKit
Is the MacOs tahoe 26.2 Finder's Column "column width" not adjustable in column mode?
Topic:
Community
SubTopic:
Apple Developers
I’ve notice that in Maps, some pins contain images and do not have the little triangle at the bottom of it, yet they still animate the same when clicked. How could this be achieved? I believe the name of this annotation is MKMapFeatureAnnotation.
I've tried this and it did not give the same result. I'm able to create a custom MKMarkerAnnotationView but it does not animate the same (balloon animation like the MKMapFeatureAnnotation). I was looking forward to create a custom MKMapFeatureAnnotation similar in design which would animate the same. Unfortunately, I cannot create a custom MKMapFeatureAnnotation because everything is privated
Hi there, I'm trying to build my APP with EAS, unfortunately I can't log in the 2FA. I get the call from apple giving me the 2FA code and I enter it correctly but if gives me an error. So I read if I connect it to my laptop (macbook) it should work. However I try to connect my account to my macbook I just get another error:
Verification failed
Verification codes cannot be sent to this phone number at this time. Please try again later.
I suspect it is because I get the codes via voice call and not SMS. However: 1. I can't log into my account anymore as the 2FA always fails now. 2. I can't get SMS on my number. 3. I can't change number, there is also always an unknown error if I try that.
This is pretty frustrating especially given I already paid the 100€ for the developer account.
Hello everyone,
I’m facing a confusing issue in App Store Connect and hoping someone here has encountered this before.
Context:
• Company developer account (UK-based)
• App is free to download
• Only optional In-App Purchases (Apple IAP)
• No external payments
• Using standard App Store distribution
• Paid Apps agreement is active
• US tax forms (W-8BEN-E) are active
Issue:
Under Agreements → Tax Forms, I see:
United Kingdom Tax Info – Alternative Terms Addendum – Missing Tax Info
However:
• There is no Alternative Terms Addendum visible under Agreements
• I have not intentionally opted into EU DMA Alternative Terms
• I do not have a UK VAT number (Apple should be Merchant of Record under standard IAP)
Finance Support says they do not support Alternative Terms.
Agreements support has not responded yet.
Questions:
1. Can the Alternative Terms flag exist only under Tax Forms without a visible agreement?
2. How can a developer revert back to standard App Store terms if this happens?
3. Has anyone had Apple remove this EU DMA backend flag manually?
Any guidance or similar experiences would be really appreciated.
Thanks in advance
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Hi!
I'm building a Screen Time management app using FamilyControls and ManagedSettings. When a user taps the primary button on a ShieldActionExtension, I need to open my main app to guide them through an intervention exercise.
Other approved App Store apps like Jomo - Screen Time Blocker do exactly this: tapping their shield's primary button opens the main Jomo app directly.
Screen recording: https://drive.google.com/file/d/15yubtTdTkFskGCIaAw_HGB57-boHPl3a/view?usp=sharing
I've tried:
URL schemes (UIApplication.shared.open() unavailable in extensions)
Universal links
Local notifications (works, but adds an extra tap)
NSUserActivity
Is there a supported API I'm missing? Or another accepted solution? Any guidance is appreciated.
Topic:
App & System Services
SubTopic:
General
Tags:
Extensions
Family Controls
Managed Settings
Screen Time