Post

Replies

Boosts

Views

Activity

Inconsistent additionalOverflowItems layout behavior between iOS 18 and iOS 26
I am currently testing additionalOverflowItems with the expectation that it behaves as follows: Keep UIBarButtonItem instances visible directly on the toolbar as icons whenever there is sufficient space. Only move items into the overflow menu when there isn't enough screen real estate. In iOS 26, additionalOverflowItems behaves exactly as described above. However, in iOS 18, the system tends to aggressively move all UIBarButtonItem instances into the overflow menu regardless of available space. Is this change in layout behavior documented anywhere? Can we rely on iOS 26 and future releases maintaining this current behavior, or are the layout heuristics for additionalOverflowItems considered undefined implementation details? Because this behavior isn't clearly documented, I have held off on adopting additionalOverflowItems in production. I have attached screenshots and sample source code below for reference. // On iOS 26, the action mode bar buttons may not fit. iOS then moves the ones that do not fit into its own overflow // menu, listing each by title, and the more button's menu would become a nested "More" submenu there. Instead, in // note and archive action mode, the more button is not shown and its actions are added to the system overflow // menu directly. iOS shows that menu, and moves the buttons that do not fit into it, based on the available space. private var isActionModeMenuInOverflowMenu: Bool { guard #available(iOS 16, *) else { return false } guard actionMode else { return false } switch pageKind { case .notes, .archive: return true default: return false } } private func updateAdditionalOverflowItems() { guard #available(iOS 16, *) else { return } guard isActionModeMenuInOverflowMenu else { navigationItem.additionalOverflowItems = nil return } // Built when the menu is opened, so that it reflects the current selection. navigationItem.additionalOverflowItems = UIDeferredMenuElement.uncached { [weak self] completion in guard let self = self, self.isActionModeMenuInOverflowMenu else { completion([]) return } let selectedNSPlainNotes = self.selectedNSPlainNotes switch self.pageKind { case .notes: completion(self.generateNoteActionModeMenu(selectedNSPlainNotes).children) case .archive: completion(self.generateArchiveActionModeMenu(selectedNSPlainNotes).children) default: completion([]) } } }
Topic: UI Frameworks SubTopic: UIKit
0
0
62
1d
I hooked an AI up to App Store Connect, Meta Ads, and Firebase via official APIs. It is a marketing monster, but does this violate Apple's TOS?
Today I witnessed the real power of AI beyond just writing code. I am using it as a super marketer to drive up my app business, and the results are incredible. This is what I have set up. I provided read access to the AI using their official APIs for: App Store Connect Apple Search Ads Meta Ads Firebase Analytics Local app source code By combining the source code with real performance data, the AI ran a thorough analysis and suggested concrete, actionable items to improve my overall app business. My main concern is whether this is allowed by Apple. Specifically, does Apple permit using AI agents to query App Store Connect and Apple Search Ads through their official APIs? The setup is too powerful not to use, but we still need to abide by Apple rules. Has anyone else looked into this or tried a similar workflow?
1
0
251
2w
The poster frame for this file is processing. (Product Page Optimization/ Header)
I have submitted a few 5 seconds length video, in Product Page Optimization/ Header 1 day has passed, it seems like the message "The poster frame for this file is processing." still appearing. The Product Page Optimization has submitted and pending for review. Is such a message "The poster frame for this file is processing." a concern? Thank you.
2
2
387
3w
Urgent: Blocked from submitting critical app update due to pending Custom Product Pages
Hello Apple Review Team, I am trying to submit an urgent app update to fix a critical issue, but I am blocked by the following error message: You’ve reached the maximum number of submissions allowed in review for this platform. To submit another, wait until one of your existing submissions has been reviewed or remove one from review. This is happening because I submitted two Custom Product Pages a few days ago, which are currently pending approval. Unfortunately, there is no option for me to cancel these submissions on my end. Here are the Submission IDs for the pending pages: Submission ID: 81a13cdc-1ea9-4fd1-a40f-31f3ae88f2bd Submission ID: 82732b38-ad4f-4e70-aeee-de7aef9459da Could someone please help clear, cancel, or expedite the review for these two Custom Product Pages? I need to submit my urgent app binary release as soon as possible to resolve the issue for my users. Thank you for your time and assistance.
0
0
182
Aug ’26
Rejected for 3.1.2(c) Subscriptions. Is "Try for Free" too conspicuous now?
Hi everyone, My app just received a rejection citing Guideline 3.1.2(c) - Business - Payments - Subscriptions: "The auto-renewable subscription promotes the free trial, introductory pricing, or introductory period for the subscription more clearly and conspicuously than the billed amount." Does anyone have advice on how to resolve this? I am currently using "Try for Free" as the main CTA button to activate the trial, which seems to be a common industry practice. Any insights would be greatly appreciated!
2
0
232
Aug ’26
App Store PPO: Installed app shows default icon instead of alternate test icon
Hi everyone, I’m currently running an A/B test for my app icon using App Store Product Page Optimization (PPO), and I've run into a frustrating behavior that I can't quite figure out. The Setup: My app binary includes both the default icon (Icon A) and the alternate icon (Icon B) in the Asset Catalog. I've successfully linked Icon B to the PPO treatment in App Store Connect. The Problem: When the App Store serves Treatment B, the store page correctly displays Icon B. However, after downloading and installing the app, the home screen still shows the default Icon A. What I've verified so far: I have Include All App Icon Assets set to Yes in Xcode Build Settings. Has anyone else experienced this exact disconnect between the PPO storefront and the installed binary? Thanks.
1
0
481
Jul ’26
CloudKit console truncates the rows when there are too many
I believe the CloudKit console has an issue when displaying a large number of rows (around 1,677). If I don't perform any filtering and make sure I am on page one (by scrolling to the bottom and ensuring there is only a 'next' button and no 'previous' button), sorting by 'Created' only shows records up to the year 2024. However, if I apply a text filter to search for the latest record, my 2026 records appear correctly. I have attached a screenshot for your reference. I am testing it under Development environment. I am looking at the private database / com.apple.coredata.cloudkit.zone. I had to add the recordName index to browse this data
1
0
846
May ’26
How to choose between v1 & v2 for App Store Server Notifications
Based on https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/enter-server-urls-for-app-store-server-notifications It seems like we can choose between version 1 or version 2 notification Choose either Version 1 (deprecated) or Version 2 notifications. Learn about versions of App Store Server Notifications. However, I do not find a way to make such a choice. Does anyone know, how I can choose between v1 or v2 notification? We currently provide a self-hosted server endpoint built on the v1 specification. While the existing server is perfectly stable, we are evaluating a migration to v2. Thanks.
1
0
676
Apr ’26
Is Xcode Intelligence Ready for Production? My Experience and a Quest for Better Tools
I am looking to optimize my AI-assisted workflow within Xcode. Previously, my process was inefficient: Manually selecting and copying code snippets from Xcode into Gemini. Asking a specific question (e.g., "Modify this to show an alertError message box"). Copying the result back into Xcode. I attempted to switch to the new native Intelligence feature in Xcode to streamline this, but I found significant shortcomings: Latency: The response time is noticeably slow. Much slower than asking directly on Gemini 3 Pro. Lack of Context: The AI often fails to grasp the full project context. For example, it frequently claims it cannot see the code for ScannerView even though it is part of the project. I often have to prompt it multiple times before it finally "finds" the file. Is Xcode's Intelligence feature actually production-ready yet? If not, what tools do you recommend that integrate well with iOS development? To be clear, I am not looking for "vibe coding." I have a clear grasp of the problem and the high-level solution. My goal is to delegate the low-level implementation to the AI. I need a tool that has full project context from the start, eliminating the need to manually copy-paste snippets into a chat window.
1
0
146
Mar ’26
nonisolated Execution Differences Before and After Xcode 26.2
I have an older project that was created before Xcode 26.2. In Xcode versions prior to 26.2, there was no Swift Compiler – Concurrency build setting. With those older versions, the following behavior occurs: a nonisolated function executes off the main thread. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() run() } private func run() { Task { await runInMainThread() } } func runInMainThread() async { print(">>>> IN runInMainThread(), Thread.isMainThread \(Thread.isMainThread)") await runInBackgroundThread() } private nonisolated func runInBackgroundThread() async { print(">>>> IN runInBackgroundThread(), Thread.isMainThread \(Thread.isMainThread)") } } Output: >>>> IN runInMainThread(), Thread.isMainThread true >>>> IN runInBackgroundThread(), Thread.isMainThread false However, starting with Xcode 26.2, Apple introduced the Swift Compiler – Concurrency settings. When running the same code with the default configuration: Approachable Concurrency = Yes Default Actor Isolation = MainActor This is the output Output: >>>> IN runInMainThread(), Thread.isMainThread true >>>> IN runInBackgroundThread(), Thread.isMainThread true the nonisolated function now executes on the main thread. This raises the following questions: What is the correct Swift Compiler – Concurrency configuration if I want a nonisolated function to run off the main thread? Is nonisolated still an appropriate way to ensure code runs on a background thread?
3
0
773
Feb ’26
Inconsistent additionalOverflowItems layout behavior between iOS 18 and iOS 26
I am currently testing additionalOverflowItems with the expectation that it behaves as follows: Keep UIBarButtonItem instances visible directly on the toolbar as icons whenever there is sufficient space. Only move items into the overflow menu when there isn't enough screen real estate. In iOS 26, additionalOverflowItems behaves exactly as described above. However, in iOS 18, the system tends to aggressively move all UIBarButtonItem instances into the overflow menu regardless of available space. Is this change in layout behavior documented anywhere? Can we rely on iOS 26 and future releases maintaining this current behavior, or are the layout heuristics for additionalOverflowItems considered undefined implementation details? Because this behavior isn't clearly documented, I have held off on adopting additionalOverflowItems in production. I have attached screenshots and sample source code below for reference. // On iOS 26, the action mode bar buttons may not fit. iOS then moves the ones that do not fit into its own overflow // menu, listing each by title, and the more button's menu would become a nested "More" submenu there. Instead, in // note and archive action mode, the more button is not shown and its actions are added to the system overflow // menu directly. iOS shows that menu, and moves the buttons that do not fit into it, based on the available space. private var isActionModeMenuInOverflowMenu: Bool { guard #available(iOS 16, *) else { return false } guard actionMode else { return false } switch pageKind { case .notes, .archive: return true default: return false } } private func updateAdditionalOverflowItems() { guard #available(iOS 16, *) else { return } guard isActionModeMenuInOverflowMenu else { navigationItem.additionalOverflowItems = nil return } // Built when the menu is opened, so that it reflects the current selection. navigationItem.additionalOverflowItems = UIDeferredMenuElement.uncached { [weak self] completion in guard let self = self, self.isActionModeMenuInOverflowMenu else { completion([]) return } let selectedNSPlainNotes = self.selectedNSPlainNotes switch self.pageKind { case .notes: completion(self.generateNoteActionModeMenu(selectedNSPlainNotes).children) case .archive: completion(self.generateArchiveActionModeMenu(selectedNSPlainNotes).children) default: completion([]) } } }
Topic: UI Frameworks SubTopic: UIKit
Replies
0
Boosts
0
Views
62
Activity
1d
I hooked an AI up to App Store Connect, Meta Ads, and Firebase via official APIs. It is a marketing monster, but does this violate Apple's TOS?
Today I witnessed the real power of AI beyond just writing code. I am using it as a super marketer to drive up my app business, and the results are incredible. This is what I have set up. I provided read access to the AI using their official APIs for: App Store Connect Apple Search Ads Meta Ads Firebase Analytics Local app source code By combining the source code with real performance data, the AI ran a thorough analysis and suggested concrete, actionable items to improve my overall app business. My main concern is whether this is allowed by Apple. Specifically, does Apple permit using AI agents to query App Store Connect and Apple Search Ads through their official APIs? The setup is too powerful not to use, but we still need to abide by Apple rules. Has anyone else looked into this or tried a similar workflow?
Replies
1
Boosts
0
Views
251
Activity
2w
The poster frame for this file is processing. (Product Page Optimization/ Header)
I have submitted a few 5 seconds length video, in Product Page Optimization/ Header 1 day has passed, it seems like the message "The poster frame for this file is processing." still appearing. The Product Page Optimization has submitted and pending for review. Is such a message "The poster frame for this file is processing." a concern? Thank you.
Replies
2
Boosts
2
Views
387
Activity
3w
Urgent: Blocked from submitting critical app update due to pending Custom Product Pages
Hello Apple Review Team, I am trying to submit an urgent app update to fix a critical issue, but I am blocked by the following error message: You’ve reached the maximum number of submissions allowed in review for this platform. To submit another, wait until one of your existing submissions has been reviewed or remove one from review. This is happening because I submitted two Custom Product Pages a few days ago, which are currently pending approval. Unfortunately, there is no option for me to cancel these submissions on my end. Here are the Submission IDs for the pending pages: Submission ID: 81a13cdc-1ea9-4fd1-a40f-31f3ae88f2bd Submission ID: 82732b38-ad4f-4e70-aeee-de7aef9459da Could someone please help clear, cancel, or expedite the review for these two Custom Product Pages? I need to submit my urgent app binary release as soon as possible to resolve the issue for my users. Thank you for your time and assistance.
Replies
0
Boosts
0
Views
182
Activity
Aug ’26
Rejected for 3.1.2(c) Subscriptions. Is "Try for Free" too conspicuous now?
Hi everyone, My app just received a rejection citing Guideline 3.1.2(c) - Business - Payments - Subscriptions: "The auto-renewable subscription promotes the free trial, introductory pricing, or introductory period for the subscription more clearly and conspicuously than the billed amount." Does anyone have advice on how to resolve this? I am currently using "Try for Free" as the main CTA button to activate the trial, which seems to be a common industry practice. Any insights would be greatly appreciated!
Replies
2
Boosts
0
Views
232
Activity
Aug ’26
App Store PPO: Installed app shows default icon instead of alternate test icon
Hi everyone, I’m currently running an A/B test for my app icon using App Store Product Page Optimization (PPO), and I've run into a frustrating behavior that I can't quite figure out. The Setup: My app binary includes both the default icon (Icon A) and the alternate icon (Icon B) in the Asset Catalog. I've successfully linked Icon B to the PPO treatment in App Store Connect. The Problem: When the App Store serves Treatment B, the store page correctly displays Icon B. However, after downloading and installing the app, the home screen still shows the default Icon A. What I've verified so far: I have Include All App Icon Assets set to Yes in Xcode Build Settings. Has anyone else experienced this exact disconnect between the PPO storefront and the installed binary? Thanks.
Replies
1
Boosts
0
Views
481
Activity
Jul ’26
CloudKit console truncates the rows when there are too many
I believe the CloudKit console has an issue when displaying a large number of rows (around 1,677). If I don't perform any filtering and make sure I am on page one (by scrolling to the bottom and ensuring there is only a 'next' button and no 'previous' button), sorting by 'Created' only shows records up to the year 2024. However, if I apply a text filter to search for the latest record, my 2026 records appear correctly. I have attached a screenshot for your reference. I am testing it under Development environment. I am looking at the private database / com.apple.coredata.cloudkit.zone. I had to add the recordName index to browse this data
Replies
1
Boosts
0
Views
846
Activity
May ’26
How to choose between v1 & v2 for App Store Server Notifications
Based on https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/enter-server-urls-for-app-store-server-notifications It seems like we can choose between version 1 or version 2 notification Choose either Version 1 (deprecated) or Version 2 notifications. Learn about versions of App Store Server Notifications. However, I do not find a way to make such a choice. Does anyone know, how I can choose between v1 or v2 notification? We currently provide a self-hosted server endpoint built on the v1 specification. While the existing server is perfectly stable, we are evaluating a migration to v2. Thanks.
Replies
1
Boosts
0
Views
676
Activity
Apr ’26
Is Xcode Intelligence Ready for Production? My Experience and a Quest for Better Tools
I am looking to optimize my AI-assisted workflow within Xcode. Previously, my process was inefficient: Manually selecting and copying code snippets from Xcode into Gemini. Asking a specific question (e.g., "Modify this to show an alertError message box"). Copying the result back into Xcode. I attempted to switch to the new native Intelligence feature in Xcode to streamline this, but I found significant shortcomings: Latency: The response time is noticeably slow. Much slower than asking directly on Gemini 3 Pro. Lack of Context: The AI often fails to grasp the full project context. For example, it frequently claims it cannot see the code for ScannerView even though it is part of the project. I often have to prompt it multiple times before it finally "finds" the file. Is Xcode's Intelligence feature actually production-ready yet? If not, what tools do you recommend that integrate well with iOS development? To be clear, I am not looking for "vibe coding." I have a clear grasp of the problem and the high-level solution. My goal is to delegate the low-level implementation to the AI. I need a tool that has full project context from the start, eliminating the need to manually copy-paste snippets into a chat window.
Replies
1
Boosts
0
Views
146
Activity
Mar ’26
nonisolated Execution Differences Before and After Xcode 26.2
I have an older project that was created before Xcode 26.2. In Xcode versions prior to 26.2, there was no Swift Compiler – Concurrency build setting. With those older versions, the following behavior occurs: a nonisolated function executes off the main thread. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() run() } private func run() { Task { await runInMainThread() } } func runInMainThread() async { print(">>>> IN runInMainThread(), Thread.isMainThread \(Thread.isMainThread)") await runInBackgroundThread() } private nonisolated func runInBackgroundThread() async { print(">>>> IN runInBackgroundThread(), Thread.isMainThread \(Thread.isMainThread)") } } Output: >>>> IN runInMainThread(), Thread.isMainThread true >>>> IN runInBackgroundThread(), Thread.isMainThread false However, starting with Xcode 26.2, Apple introduced the Swift Compiler – Concurrency settings. When running the same code with the default configuration: Approachable Concurrency = Yes Default Actor Isolation = MainActor This is the output Output: >>>> IN runInMainThread(), Thread.isMainThread true >>>> IN runInBackgroundThread(), Thread.isMainThread true the nonisolated function now executes on the main thread. This raises the following questions: What is the correct Swift Compiler – Concurrency configuration if I want a nonisolated function to run off the main thread? Is nonisolated still an appropriate way to ensure code runs on a background thread?
Replies
3
Boosts
0
Views
773
Activity
Feb ’26