Navigate the App Store landscape. Share strategies for app submission, distribution, marketing, and user acquisition. Discuss best practices for getting your app discovered and downloaded.

General Documentation

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Purchasing external license seats that are applied in-app
Question on the monetization: I have an app which I sell to businesses. The businesses would be some number of license seats. They distribute those license codes to their employees. The employees download my app for free, apply their license code, and then have unlimited use of the app. For those who download the app without the license code, they have limited use of the app. This is the freemium model, except the license seats are purchased external to the app en masse by the business so that their employees don't have to buy them individually and file for individual reimbursement. This seems like it fits squarely in the gray area of Apple's monetization policies. Am I allowed to do this?
0
0
91
Jan ’26
Change account from Enterprises to Public
We need clarification on the following scenario and whether the requested actions are possible. Currently, we have an Enterprise iOS application that is distributed internally through Microsoft Intune using an Enterprise Apple Developer account. We are now planning to release the same application publicly via the Apple App Store using an App Store (public) Apple Developer account. While attempting to create a new app in App Store Connect, we are unable to proceed because the Bundle Identifier is already registered under the Enterprise account, and Apple does not allow creating another app with the same identifier. We would like clarification on the following points: Is it possible to move or transfer an app (or its Bundle Identifier) from an Enterprise Apple Developer account to a Public/App Store Apple Developer account? If yes, what is the recommended process to do so? If not, what alternatives are available while retaining the same Bundle Identifier? 2. If the app is successfully published on the App Store using the same Bundle Identifier, what will happen to users who already have the Enterprise version installed via Intune? Will their existing app automatically update from the App Store? Or will they need to uninstall the Enterprise version and install the App Store version manually? We would appreciate your guidance on the supported approach and best practices for this transition to ensure a smooth migration for existing users.
0
0
253
Jan ’26
Apple terminated my only developer account, holding $30K, no explanation after multiple appeals. I have a family to support.
I'm a full-time indie iOS developer. This is my family's only income. On December 19th, Apple terminated my developer account with zero explanation, and they're holding $30,000 in earnings. Background Solo developer, working 12+ hours/day Five apps on the App Store This is my family's only source of income What happened December 19, 2025: Account terminated with this message: "Upon further review of the activity associated with your Apple Developer Program membership, it's been determined that your membership, or a membership associated with your account, has been used for dishonest or fraudulent activity, in violation of the Apple Developer Program License Agreement. Given the severity of the identified issues, your account has been flagged for removal." No specifics. No evidence. No prior warnings. What I've tried ✅ Appealed immediately - rejected with template response ✅ Asked for ANY details about what I allegedly did - no response What I actually did (trying to figure out what triggered this) Used expedited review ONCE on December 18th (one day before termination) Integrated Facebook SDK for legitimate ads Using RevenueCat for subscriptions That's it. No other third-party services. Never bought installs, reviews, or used any shady ASO Never participated in any other developer teams This is my only Apple Developer account All five apps are legitimate products with real users The impact $30,000 frozen My apps serve real users who now can't get updates or support I have a family of 6 (plus 2 cats and a dog) depending on this income No income, no appeal process, no explanation Cannot start over - new account would likely be flagged as "associated" My questions Has anyone successfully recovered from this? What worked? Could Facebook SDK or RevenueCat trigger false positive associations? Could a single expedited review one day before termination be the trigger? The message mentions "a membership associated with your account" - but I've never been associated with any other account. How do I prove a negative? What are my actual options when appeals go nowhere? What I'm asking for I'm not asking for special treatment. I just want to know what I allegedly did wrong so I can either: Fix it, or Prove I didn't do it The complete lack of transparency is devastating. How can anyone run a business when the platform can terminate you without explanation, hold your earnings indefinitely, and provide zero path to resolution? Any advice would be greatly appreciated. I'm desperate here.
1
0
163
Jan ’26
ExternalPurchase.canPresent returns false despite complete configuration (iOS 17.4+, EU)
I'm implementing the External Purchase API in my iOS app for EU DMA compliance, but ExternalPurchase.canPresent always returns false despite having completed all configuration steps. Configuration: Alternative Terms Addendum for Apps in the EU: Signed on January 3, 2026 Entitlement: com.apple.developer.storekit.external-purchase.enabled (enabled in Xcode) Provisioning profile: Regenerated with new capability Info.plist: SKExternalPurchase array with all 27 EU country codes Test device: Physical iPhone, Belgium App Store, iOS 18.2 Code: guard await ExternalPurchase.canPresent else { print("Cannot present - canPresent is false") return } Debug output shows canPresent is consistently false. Questions: Is there an activation delay after signing the Alternative Terms Addendum? Does the API only work in TestFlight/Production builds (not development)? Is additional configuration required beyond entitlement + Info.plist + addendum? Any guidance would be appreciated.
0
0
127
Jan ’26
In need of a sample receipt file that uses the SHA-256 hash
My app that's been around since the dawn of the Mac App Store, and which uses its own receipt validation code for 15 years now, recently sometimes triggers a "does not support the latest receipt validation requirements" error message with my app's users. But I cannot reproduce it, even if I freshly install the app on a M4 Mac running macOS 26.2. So I have a hard time testing my fix. Does someone have a sample receipt file they could share with me (including the MAC from "en0" / GUID device ID), or do you know where I can find one that uses the new SHA-256 hash? In fact - when reading https://developer.apple.com/documentation/appstorereceipts/validating-receipts-on-the-device it seems that there's only a SHA-1 after all. So why do some users get the "receipt validation requirements" message at all? I'm only reading the receipt, decoding the ASN.1 fields and then validate the hash from the receipt (field 5) against the SHA-1 from the GUID+receipt, as always, calling libCrypto's SHA1() function. So, what would even trigger the message, as I'm not invoking any higher-level APIs that would verify the receipt for me, and thus would know when something is wrong?!?
3
0
326
Jan ’26
Guidance Request: Migrating Subscription Purchase Flow from In‑App Purchase to External Web Purchase (Education App)
We are planning to migrate our application from an iOS In‑App Purchase (IAP) subscription flow to an external web purchase flow. The intended user journey is: The user taps a “Subscribe” button in the app. The user is redirected to a web-based checkout to complete the purchase. The user returns to the app, and subscription access is unlocked based on entitlement verification from our backend. Our app is currently listed in the Education category. Before we begin this refactor, we would like confirmation on the following: Entitlements / permissions Do we need to request any specific Apple entitlements or approvals to implement this external purchase flow (e.g., external link or alternative payment related permissions)? Compliance / review requirements Are there any specific App Review compliance checks, disclosures, or review process requirements we must satisfy when moving from IAP to an external purchase flow? If relevant, are there constraints based on app category (Education) or product type (subscription)?
0
0
103
Dec ’25
Paid App to Free App with Subscription Conversion - New Dev Question
Hello, I am new application developer that has been developing several applications in the productivity and finance sections concurrently for about 1 year. One of my applications is nearly ready to be submitted to the App Store. I have received a lot of discouragement from people who have submitted apps in regards to putting submitting as a paid app, however due to all of the upfront and ongoing investment I've made, I do not wish to release my application for free initially. (I am learning how to best integrate storekit and in-app purchases and subscriptions, but I'm not ready to implement that yet) QUESTION: When releasing an app as a paid app and then converting to a FREE app with subscription later on, is there anything I need to be aware of technically or in regards to guidelines so I don't shoot myself in the foot when changing pricing? Any advice is greatly appreciated. Thank you.
1
0
258
Dec ’25
Migration
Hello, I am trying to find out the best way to move my app from Base 44 to the App Store. I know its a process but I want to do it the best way possible to avoid any issues with the migration.
0
0
62
Dec ’25
Do we still need to comply with SB2420 on Jan 1st for distributing apps in Texas ?
According to this news, we don't need anymore (at least temporarily): https://www.macrumors.com/2025/12/23/texas-app-store-law-blocked/ A Texas federal judge today blocked an App Store age verification law that was set to go into effect on January 1, 2026, which means Apple may not have to support the changes after all. Hope we shall get very rapidly more information from Apple.
1
0
202
Dec ’25
Apple’s age rating deadline: will apps be blocked after 31 Jan 2026?
Apple sent a final reminder asking developers to complete the updated age rating questions in App Store Connect. Final reminder: Answer the updated age ratings questions. We’re reaching out because you have not provided responses to the updated age ratings questions in the App Information section of your app in App Store Connect. If you don’t answer these questions by January 31, 2026, you won’t be able to submit app updates in App Store Connect. The email says that if the age rating questions are not answered by 31 January 2026, you will not be able to submit app updates. What is not clear is what actually happens after that date. Many of us are in the middle of development and may not be ready to submit a new build before the deadline. The email does not explain whether this means: A) You can still submit updates after 31 January 2026, as long as you complete the age rating questionnaire before submitting, or B) The app becomes locked and cannot be updated at all once the deadline passes This is not stated explicitly in the email, which makes it confusing for me. It would be helpful if Apple could clearly confirm what developers should expect after 31 January 2026, especially for apps that are still undergoing active development. Anyone knows?
6
3
1.3k
Dec ’25
Limited Homebrew App Distribution with Apple Review for Small-Scale Developers
Hello Apple Developer Team I am an independent iOS developer creating highly specialized applications for a very small private audience of fewer than ten users These applications are tightly coupled with custom hardware that I design and manufacture myself for example automotive air suspension control systems Due to the extremely narrow scope and non commercial nature of these apps maintaining a full Apple Developer Program membership is economically impractical The applications are not distributed publicly are not monetized and are used only by a small group of people who share the same technical hobby All application code is written entirely by me There are no copyright violations no private API usage no hidden functionality no tracking and no malicious behavior The apps do not compromise iOS security do not harm users and do not discredit Apple or the iOS platform The software only functions when paired with proprietary hardware under my control At present the only viable way to install these apps is by using free developer certificates with a seven day expiration period This creates a significant usability burden Users must constantly re sign and reinstall the apps Non technical users frequently make mistakes during this process which leads to frustration and discourages experimentation learning and hardware innovation I would like to propose that Apple consider a limited and tightly controlled homebrew style distribution option where non App Store applications could be installed only after Apple review and approval similar in spirit to TestFlight or app notarization This could include strict limitations such as a very small number of allowed users no monetization no public discovery and clear labeling as private experimental or hardware coupled software Apple would retain full control over approval enforcement and revocation at all times Such a mechanism would preserve the security and trust model of iOS while supporting independent engineers hardware developers and advanced hobbyists It would reduce incentives for unofficial sideloading and encourage innovation at a grassroots level without weakening platform safety I deeply respect Apple’s focus on security quality and user trust This proposal is not about bypassing the App Store but about enabling a controlled reviewed and extremely limited path for legitimate non commercial hardware specific applications I hope this message can receive timely consideration and that if such an approach aligns with Apple’s platform goals it could be explored for inclusion in upcoming iOS versions where feasible Thank you for your time and for supporting the developer community Best regards Anzor Tekuev Independent iOS Developer
0
0
109
Dec ’25
SKANからMMPツールへ計測データポストバックについて
【背景】 現在、各広告実績(コスト、クリック数など)とCV実績(Adjustローデータ)を紐付け、広告ダッシュボードを構築しております。 iOSアプリキャンペーンにおいて、AD名での紐付け(SQL上でのjoin)が必須となり、ご質問させていただきました。 【質問】 SKAN側の仕様について、計測時SKANからMMP側にデータを送信しているかと思います。 この送信データに、ADG名、AD名は付与されているのでしょうか。 Adjsut担当者様より、リファレンスは無いがポストバック値にはある、とご説明いただきました。 SKAN側でリファレンス等あればご教示いただけますと幸いです。 また、SKAN4.0からは source-identifier がポストバックデータに含まる認識ですが、 この4桁の数値からADやADGを特定することは可能なのでしょうか。 MMPや広告主側で各ADにsource-identifierに紐付けは不可で、媒体側で自動発行される認識をしており、発行粒度/規定も媒体ごとに異なっていると理解しております。 ご返答いただけますと大変ありがたいです。 ▼参考リファレンス https://developer.apple.com/documentation/storekit/verifying-an-install-validation-postback#3592477
0
0
103
Dec ’25
AppStore search ignores my app name
Users that search for my exact app name need to scroll past 14 to 39 apps in the results, that don't match, before reaching the first and only exact match. My app is called 'cadance' specifically for the word 'dance' that is appropriate for my audience. But this assumed to be a spelling error for 'cadence' since there are a large number of assumed 'matching' apps presented before my exact match. I've had some luck with Apple Ads using an exact match on my product name but it seems unfortunate to be forced into a workaround for AppStore search issues.
0
0
124
Dec ’25
How to get tvOS app store app version using contentMetadataLookup url service?
Issue Description: Apps that support both iOS and tvOS can have different versions in App Store for each type(iOS and tvOS) but same Bundle Identifier and iTunesStoreID/trackID. For example, the iOS version of YouTube has the latest version in App Store as 17.30.3 the tvOS version of YouTube has the latest version in App Store as 2.07.01 This can be verified from two by two specific iTunes look Up API as shown below https://itunes.apple.com/lookup?id=544007664 https://itunes.apple.com/lookup?id=544007664&entity=tvSoftware Sample contentMetadataLookup URL: https://uclient-api.itunes.apple.com/WebObjects/MZStorePlatform.woa/wa/lookup?version=2&id=544007664&p=mdm-lockup&caller=MDM&platform=enterprisestore&cc=us&l=en Queries: What should we do to get the tvOS specific version of an app in contentMetadataLookup URL? The trackViewURL doesn't show tvOS specific version history of the app - https://apps.apple.com/us/app/youtube-watch-listen-stream/id544007664?platform=appleTV . How should we view this the apps' tvOS specific version history? Kindly help us with the queries.
2
0
1.5k
Dec ’25
Rejected under Guideline 3.1.1 – B2B SaaS app, existing accounts only, no purchases in the app
Hi everyone, I am looking for guidance regarding a rejection under Guideline 3.1.1 – Payments / In-App Purchase. Our app is a **B2B SaaS platform for professional fitness coaches. Coaches subscribe through our website to access coaching management tools (client tracking, training programs, nutrition planning, messaging, etc.). The iOS app is only a companion app that lets existing coach accounts log in and access services they already purchased on the web. Important facts about our implementation: No subscriptions can be purchased in the app No pricing, plans, or commercial upsell screens in the app No sign-up in the app No external links to a website checkout or pricing The app is not usable at all without an existing paid account The content is professional B2B data, not consumer digital media Despite this, App Review keeps rejecting us for: “Your app accesses digital content purchased outside the app, and that content is not available through in-app purchase.” We tried referencing **3.1.3(b) Multiplatform Services, because our service is used on the web and mobile, and we only allow access with an existing account. We also provided examples of other coaching platforms in the App Store that appear to work the same way (Trainerize, Everfit for Coaches, Hubfit, etc.). But App Review still says the same thing, without pointing to a specific screen or UI element. I want to make sure we comply. To clarify: Do we need to completely block access to all content until login, even if the app already does this? Is it enough to display a disclaimer such as: “This app is for existing coach accounts only. No purchases, subscriptions, or account creation are available in the app.” For a B2B tool, does Apple still require In-App Purchase, even if users cannot sign up or buy anything inside the app? Is this considered a Reader-style app under Apple’s rules? Has anyone successfully passed review with a SaaS “login-only” model for professional software? We don’t want to violate any rule, we just need clear guidance on what is required to get approval. Any help or experience from other developers or Apple team members would be greatly appreciated. Thanks, Robin
0
0
124
Dec ’25
App Clip Card Still Showing After Removal
Hi everyone, I’ve completely removed my App Clip: Deleted all Advanced App Clip Experiences Removed the App Clip target from my build Removed App Clip references from my apple-app-site-association file Deleted the meta tag from my website: However: When scanning the QR code, the App Clip card still appears with: "This App Clip is not currently available in your country or region." This link still works for my App Clip, which is not what I expected: https://appclip.apple.com/id?p=com.example.appclip Does anyone know why the App Clip card is still showing and how to fully remove it? Thanks!
1
0
134
Dec ’25
DeclaredAgeRange framework new cases and properties cause runtime crash with missing symbol
I'm making a wrapper library to abstract away some of the 'missing platform support' of DeclaredAgeRange until hopefully it expands to additional platforms. When I'm trying to fully enumerate all of the cases of AgeRangeDeclaration, which they all state available starting 26.0 (mysteriously added in Xcode 26.2 beta), the app crashes due to a missing symbol at launch time. This happens both for Xcode 26.1, 26.2 beta 2, and matching Xcode Cloud builds. So I've isolated it beyond "doesn't work on my machine". I just made a handful of crashes and attached a sysdiagnose to a fresh feedback. FB21121092 - DeclaredAgeRange: Eligibility property and new declaration cases unavailable on iOS 26.1 device contradicting documentation - causes runtime symbol not found crash If anyone is curious what these crashes look like I've attached the DiagnosticPayload.jsonRepresentation() generated from one of my favorite frameworks, MetricKit. Very clearly articulated in the diagnostic metadata you can see the symbol not found. "diagnosticMetaData" : { "platformArchitecture" : "arm64e", "terminationReason" : "Symbol not found: _$s16DeclaredAgeRange0bC7ServiceV0bC11DeclarationO14paymentCheckedyA2EmFWC\nReferenced from: <1894EDCB-3263-3604-8938-97D465FF3720> \/Volumes\/VOLUME\/*\/PerformanceOrganizer.app\/PerformanceOrganizer\nExpected in: <B8FD2C23-0CC9-3D94-902D-875900307A7A> \/System\/Library\/Frameworks\/DeclaredAgeRange.framework\/DeclaredAgeRange", "exceptionType" : 10, "appBuildVersion" : "745", "isTestFlightApp" : true, "osVersion" : "iPhone OS 26.1 (23B85)", "bundleIdentifier" : "dev.twincitiesapp.performanceorganizer", "deviceType" : "iPhone18,1", "exceptionCode" : 0, "signal" : 6, "regionFormat" : "US", "appVersion" : "2.0.0", "pid" : 22987, "lowPowerModeEnabled" : false } DiagnosticPayload.json This is the offending code in a type I control and make available on other platforms but leave unused. extension AgeRangeDeclaration { // A factory or initializer that takes the AgeRangeService.AgeRangeDeclaration and maps to the common AgeRangeDeclaration type public init?(platform value: AgeRangeService.AgeRangeDeclaration?) { guard let value else { return nil } switch value { // Xcode 26.1 visible cases case .selfDeclared: self = .selfDeclared case .guardianDeclared: self = .guardianDeclared // Xcode 26.2 visible cases // This is the first culprit, all of the following symbols would crash, this is just the first case .checkedByOtherMethod: self = .checkedByOtherMethod case .guardianCheckedByOtherMethod: self = .guardianCheckedByOtherMethod case .governmentIDChecked: self = .governmentIDChecked case .guardianGovernmentIDChecked: self = .guardianGovernmentIDChecked case .paymentChecked: self = .paymentChecked case .guardianPaymentChecked: self = .guardianPaymentChecked @unknown default: // Apple added new cases in Xcode 26.2 betas that were available in iOS 26.0, // so it is probable that this could happen again. If it does, assert to let developers // bring it to my attention. assertionFailure("Invalid or out of date knowledge of age range declaration \(value)") self = .unknown } } } For what it is worth, the same is also true for isEligibleForAgeFeatures which I suspect was also added to Xcode 26.2 somehow but not made available to real devices running [26.0 - 26.2). As a side note, thank you for this property, it will let me check what states I need to perform extra checks for in a clean way, I just will need it to now not crash my app on 26.0 and 26.1 runtime devices. :) Edit: DTS did confirm on a comment I had in another thread that this is a bug. Now just to wait for an Xcode beta update. https://developer.apple.com/forums/thread/807906?answerId=867205022#867205022 In any case, this is a great example of how MetricKit totally rocks capturing things other off the shelf crash tools might not have a chance to get. I did have to roll back my TestFlight to an earlier build, but MetricKit was there to send me the previous crashes as soon as the app could launch. Thanks MetricKit team!
5
1
1k
Dec ’25
Purchasing external license seats that are applied in-app
Question on the monetization: I have an app which I sell to businesses. The businesses would be some number of license seats. They distribute those license codes to their employees. The employees download my app for free, apply their license code, and then have unlimited use of the app. For those who download the app without the license code, they have limited use of the app. This is the freemium model, except the license seats are purchased external to the app en masse by the business so that their employees don't have to buy them individually and file for individual reimbursement. This seems like it fits squarely in the gray area of Apple's monetization policies. Am I allowed to do this?
Replies
0
Boosts
0
Views
91
Activity
Jan ’26
Change account from Enterprises to Public
We need clarification on the following scenario and whether the requested actions are possible. Currently, we have an Enterprise iOS application that is distributed internally through Microsoft Intune using an Enterprise Apple Developer account. We are now planning to release the same application publicly via the Apple App Store using an App Store (public) Apple Developer account. While attempting to create a new app in App Store Connect, we are unable to proceed because the Bundle Identifier is already registered under the Enterprise account, and Apple does not allow creating another app with the same identifier. We would like clarification on the following points: Is it possible to move or transfer an app (or its Bundle Identifier) from an Enterprise Apple Developer account to a Public/App Store Apple Developer account? If yes, what is the recommended process to do so? If not, what alternatives are available while retaining the same Bundle Identifier? 2. If the app is successfully published on the App Store using the same Bundle Identifier, what will happen to users who already have the Enterprise version installed via Intune? Will their existing app automatically update from the App Store? Or will they need to uninstall the Enterprise version and install the App Store version manually? We would appreciate your guidance on the supported approach and best practices for this transition to ensure a smooth migration for existing users.
Replies
0
Boosts
0
Views
253
Activity
Jan ’26
macOS apps with AutoFill extension distributed outside of App Store
Hello, I know that apps with Safari extension need to be distributed on App Store, I wonder if it's also the case for AutoFill extension. Thanks in advance for your answer!
Replies
0
Boosts
0
Views
143
Activity
Jan ’26
Apple terminated my only developer account, holding $30K, no explanation after multiple appeals. I have a family to support.
I'm a full-time indie iOS developer. This is my family's only income. On December 19th, Apple terminated my developer account with zero explanation, and they're holding $30,000 in earnings. Background Solo developer, working 12+ hours/day Five apps on the App Store This is my family's only source of income What happened December 19, 2025: Account terminated with this message: "Upon further review of the activity associated with your Apple Developer Program membership, it's been determined that your membership, or a membership associated with your account, has been used for dishonest or fraudulent activity, in violation of the Apple Developer Program License Agreement. Given the severity of the identified issues, your account has been flagged for removal." No specifics. No evidence. No prior warnings. What I've tried ✅ Appealed immediately - rejected with template response ✅ Asked for ANY details about what I allegedly did - no response What I actually did (trying to figure out what triggered this) Used expedited review ONCE on December 18th (one day before termination) Integrated Facebook SDK for legitimate ads Using RevenueCat for subscriptions That's it. No other third-party services. Never bought installs, reviews, or used any shady ASO Never participated in any other developer teams This is my only Apple Developer account All five apps are legitimate products with real users The impact $30,000 frozen My apps serve real users who now can't get updates or support I have a family of 6 (plus 2 cats and a dog) depending on this income No income, no appeal process, no explanation Cannot start over - new account would likely be flagged as "associated" My questions Has anyone successfully recovered from this? What worked? Could Facebook SDK or RevenueCat trigger false positive associations? Could a single expedited review one day before termination be the trigger? The message mentions "a membership associated with your account" - but I've never been associated with any other account. How do I prove a negative? What are my actual options when appeals go nowhere? What I'm asking for I'm not asking for special treatment. I just want to know what I allegedly did wrong so I can either: Fix it, or Prove I didn't do it The complete lack of transparency is devastating. How can anyone run a business when the platform can terminate you without explanation, hold your earnings indefinitely, and provide zero path to resolution? Any advice would be greatly appreciated. I'm desperate here.
Replies
1
Boosts
0
Views
163
Activity
Jan ’26
Language support not showing on app store listing
Hey, I added the following to my info Plist but the language support is not showing up on my app store listing. CFBundleLocalizations en fr de es bg it pt ja ko zh-Hans zh-Hant What am I doing wrong?
Replies
1
Boosts
0
Views
158
Activity
Jan ’26
ExternalPurchase.canPresent returns false despite complete configuration (iOS 17.4+, EU)
I'm implementing the External Purchase API in my iOS app for EU DMA compliance, but ExternalPurchase.canPresent always returns false despite having completed all configuration steps. Configuration: Alternative Terms Addendum for Apps in the EU: Signed on January 3, 2026 Entitlement: com.apple.developer.storekit.external-purchase.enabled (enabled in Xcode) Provisioning profile: Regenerated with new capability Info.plist: SKExternalPurchase array with all 27 EU country codes Test device: Physical iPhone, Belgium App Store, iOS 18.2 Code: guard await ExternalPurchase.canPresent else { print("Cannot present - canPresent is false") return } Debug output shows canPresent is consistently false. Questions: Is there an activation delay after signing the Alternative Terms Addendum? Does the API only work in TestFlight/Production builds (not development)? Is additional configuration required beyond entitlement + Info.plist + addendum? Any guidance would be appreciated.
Replies
0
Boosts
0
Views
127
Activity
Jan ’26
In need of a sample receipt file that uses the SHA-256 hash
My app that's been around since the dawn of the Mac App Store, and which uses its own receipt validation code for 15 years now, recently sometimes triggers a "does not support the latest receipt validation requirements" error message with my app's users. But I cannot reproduce it, even if I freshly install the app on a M4 Mac running macOS 26.2. So I have a hard time testing my fix. Does someone have a sample receipt file they could share with me (including the MAC from "en0" / GUID device ID), or do you know where I can find one that uses the new SHA-256 hash? In fact - when reading https://developer.apple.com/documentation/appstorereceipts/validating-receipts-on-the-device it seems that there's only a SHA-1 after all. So why do some users get the "receipt validation requirements" message at all? I'm only reading the receipt, decoding the ASN.1 fields and then validate the hash from the receipt (field 5) against the SHA-1 from the GUID+receipt, as always, calling libCrypto's SHA1() function. So, what would even trigger the message, as I'm not invoking any higher-level APIs that would verify the receipt for me, and thus would know when something is wrong?!?
Replies
3
Boosts
0
Views
326
Activity
Jan ’26
Guidance Request: Migrating Subscription Purchase Flow from In‑App Purchase to External Web Purchase (Education App)
We are planning to migrate our application from an iOS In‑App Purchase (IAP) subscription flow to an external web purchase flow. The intended user journey is: The user taps a “Subscribe” button in the app. The user is redirected to a web-based checkout to complete the purchase. The user returns to the app, and subscription access is unlocked based on entitlement verification from our backend. Our app is currently listed in the Education category. Before we begin this refactor, we would like confirmation on the following: Entitlements / permissions Do we need to request any specific Apple entitlements or approvals to implement this external purchase flow (e.g., external link or alternative payment related permissions)? Compliance / review requirements Are there any specific App Review compliance checks, disclosures, or review process requirements we must satisfy when moving from IAP to an external purchase flow? If relevant, are there constraints based on app category (Education) or product type (subscription)?
Replies
0
Boosts
0
Views
103
Activity
Dec ’25
Texas's SB 2420: obligations depending on app rating ?
If an app is rated 4+, does it have any additional obligation due to the SB2420 beyond this rating on the AppStore ?
Replies
13
Boosts
0
Views
1.3k
Activity
Dec ’25
Paid App to Free App with Subscription Conversion - New Dev Question
Hello, I am new application developer that has been developing several applications in the productivity and finance sections concurrently for about 1 year. One of my applications is nearly ready to be submitted to the App Store. I have received a lot of discouragement from people who have submitted apps in regards to putting submitting as a paid app, however due to all of the upfront and ongoing investment I've made, I do not wish to release my application for free initially. (I am learning how to best integrate storekit and in-app purchases and subscriptions, but I'm not ready to implement that yet) QUESTION: When releasing an app as a paid app and then converting to a FREE app with subscription later on, is there anything I need to be aware of technically or in regards to guidelines so I don't shoot myself in the foot when changing pricing? Any advice is greatly appreciated. Thank you.
Replies
1
Boosts
0
Views
258
Activity
Dec ’25
Migration
Hello, I am trying to find out the best way to move my app from Base 44 to the App Store. I know its a process but I want to do it the best way possible to avoid any issues with the migration.
Replies
0
Boosts
0
Views
62
Activity
Dec ’25
Do we still need to comply with SB2420 on Jan 1st for distributing apps in Texas ?
According to this news, we don't need anymore (at least temporarily): https://www.macrumors.com/2025/12/23/texas-app-store-law-blocked/ A Texas federal judge today blocked an App Store age verification law that was set to go into effect on January 1, 2026, which means Apple may not have to support the changes after all. Hope we shall get very rapidly more information from Apple.
Replies
1
Boosts
0
Views
202
Activity
Dec ’25
Apple’s age rating deadline: will apps be blocked after 31 Jan 2026?
Apple sent a final reminder asking developers to complete the updated age rating questions in App Store Connect. Final reminder: Answer the updated age ratings questions. We’re reaching out because you have not provided responses to the updated age ratings questions in the App Information section of your app in App Store Connect. If you don’t answer these questions by January 31, 2026, you won’t be able to submit app updates in App Store Connect. The email says that if the age rating questions are not answered by 31 January 2026, you will not be able to submit app updates. What is not clear is what actually happens after that date. Many of us are in the middle of development and may not be ready to submit a new build before the deadline. The email does not explain whether this means: A) You can still submit updates after 31 January 2026, as long as you complete the age rating questionnaire before submitting, or B) The app becomes locked and cannot be updated at all once the deadline passes This is not stated explicitly in the email, which makes it confusing for me. It would be helpful if Apple could clearly confirm what developers should expect after 31 January 2026, especially for apps that are still undergoing active development. Anyone knows?
Replies
6
Boosts
3
Views
1.3k
Activity
Dec ’25
Limited Homebrew App Distribution with Apple Review for Small-Scale Developers
Hello Apple Developer Team I am an independent iOS developer creating highly specialized applications for a very small private audience of fewer than ten users These applications are tightly coupled with custom hardware that I design and manufacture myself for example automotive air suspension control systems Due to the extremely narrow scope and non commercial nature of these apps maintaining a full Apple Developer Program membership is economically impractical The applications are not distributed publicly are not monetized and are used only by a small group of people who share the same technical hobby All application code is written entirely by me There are no copyright violations no private API usage no hidden functionality no tracking and no malicious behavior The apps do not compromise iOS security do not harm users and do not discredit Apple or the iOS platform The software only functions when paired with proprietary hardware under my control At present the only viable way to install these apps is by using free developer certificates with a seven day expiration period This creates a significant usability burden Users must constantly re sign and reinstall the apps Non technical users frequently make mistakes during this process which leads to frustration and discourages experimentation learning and hardware innovation I would like to propose that Apple consider a limited and tightly controlled homebrew style distribution option where non App Store applications could be installed only after Apple review and approval similar in spirit to TestFlight or app notarization This could include strict limitations such as a very small number of allowed users no monetization no public discovery and clear labeling as private experimental or hardware coupled software Apple would retain full control over approval enforcement and revocation at all times Such a mechanism would preserve the security and trust model of iOS while supporting independent engineers hardware developers and advanced hobbyists It would reduce incentives for unofficial sideloading and encourage innovation at a grassroots level without weakening platform safety I deeply respect Apple’s focus on security quality and user trust This proposal is not about bypassing the App Store but about enabling a controlled reviewed and extremely limited path for legitimate non commercial hardware specific applications I hope this message can receive timely consideration and that if such an approach aligns with Apple’s platform goals it could be explored for inclusion in upcoming iOS versions where feasible Thank you for your time and for supporting the developer community Best regards Anzor Tekuev Independent iOS Developer
Replies
0
Boosts
0
Views
109
Activity
Dec ’25
SKANからMMPツールへ計測データポストバックについて
【背景】 現在、各広告実績(コスト、クリック数など)とCV実績(Adjustローデータ)を紐付け、広告ダッシュボードを構築しております。 iOSアプリキャンペーンにおいて、AD名での紐付け(SQL上でのjoin)が必須となり、ご質問させていただきました。 【質問】 SKAN側の仕様について、計測時SKANからMMP側にデータを送信しているかと思います。 この送信データに、ADG名、AD名は付与されているのでしょうか。 Adjsut担当者様より、リファレンスは無いがポストバック値にはある、とご説明いただきました。 SKAN側でリファレンス等あればご教示いただけますと幸いです。 また、SKAN4.0からは source-identifier がポストバックデータに含まる認識ですが、 この4桁の数値からADやADGを特定することは可能なのでしょうか。 MMPや広告主側で各ADにsource-identifierに紐付けは不可で、媒体側で自動発行される認識をしており、発行粒度/規定も媒体ごとに異なっていると理解しております。 ご返答いただけますと大変ありがたいです。 ▼参考リファレンス https://developer.apple.com/documentation/storekit/verifying-an-install-validation-postback#3592477
Replies
0
Boosts
0
Views
103
Activity
Dec ’25
AppStore search ignores my app name
Users that search for my exact app name need to scroll past 14 to 39 apps in the results, that don't match, before reaching the first and only exact match. My app is called 'cadance' specifically for the word 'dance' that is appropriate for my audience. But this assumed to be a spelling error for 'cadence' since there are a large number of assumed 'matching' apps presented before my exact match. I've had some luck with Apple Ads using an exact match on my product name but it seems unfortunate to be forced into a workaround for AppStore search issues.
Replies
0
Boosts
0
Views
124
Activity
Dec ’25
How to get tvOS app store app version using contentMetadataLookup url service?
Issue Description: Apps that support both iOS and tvOS can have different versions in App Store for each type(iOS and tvOS) but same Bundle Identifier and iTunesStoreID/trackID. For example, the iOS version of YouTube has the latest version in App Store as 17.30.3 the tvOS version of YouTube has the latest version in App Store as 2.07.01 This can be verified from two by two specific iTunes look Up API as shown below https://itunes.apple.com/lookup?id=544007664 https://itunes.apple.com/lookup?id=544007664&entity=tvSoftware Sample contentMetadataLookup URL: https://uclient-api.itunes.apple.com/WebObjects/MZStorePlatform.woa/wa/lookup?version=2&id=544007664&p=mdm-lockup&caller=MDM&platform=enterprisestore&cc=us&l=en Queries: What should we do to get the tvOS specific version of an app in contentMetadataLookup URL? The trackViewURL doesn't show tvOS specific version history of the app - https://apps.apple.com/us/app/youtube-watch-listen-stream/id544007664?platform=appleTV . How should we view this the apps' tvOS specific version history? Kindly help us with the queries.
Replies
2
Boosts
0
Views
1.5k
Activity
Dec ’25
Rejected under Guideline 3.1.1 – B2B SaaS app, existing accounts only, no purchases in the app
Hi everyone, I am looking for guidance regarding a rejection under Guideline 3.1.1 – Payments / In-App Purchase. Our app is a **B2B SaaS platform for professional fitness coaches. Coaches subscribe through our website to access coaching management tools (client tracking, training programs, nutrition planning, messaging, etc.). The iOS app is only a companion app that lets existing coach accounts log in and access services they already purchased on the web. Important facts about our implementation: No subscriptions can be purchased in the app No pricing, plans, or commercial upsell screens in the app No sign-up in the app No external links to a website checkout or pricing The app is not usable at all without an existing paid account The content is professional B2B data, not consumer digital media Despite this, App Review keeps rejecting us for: “Your app accesses digital content purchased outside the app, and that content is not available through in-app purchase.” We tried referencing **3.1.3(b) Multiplatform Services, because our service is used on the web and mobile, and we only allow access with an existing account. We also provided examples of other coaching platforms in the App Store that appear to work the same way (Trainerize, Everfit for Coaches, Hubfit, etc.). But App Review still says the same thing, without pointing to a specific screen or UI element. I want to make sure we comply. To clarify: Do we need to completely block access to all content until login, even if the app already does this? Is it enough to display a disclaimer such as: “This app is for existing coach accounts only. No purchases, subscriptions, or account creation are available in the app.” For a B2B tool, does Apple still require In-App Purchase, even if users cannot sign up or buy anything inside the app? Is this considered a Reader-style app under Apple’s rules? Has anyone successfully passed review with a SaaS “login-only” model for professional software? We don’t want to violate any rule, we just need clear guidance on what is required to get approval. Any help or experience from other developers or Apple team members would be greatly appreciated. Thanks, Robin
Replies
0
Boosts
0
Views
124
Activity
Dec ’25
App Clip Card Still Showing After Removal
Hi everyone, I’ve completely removed my App Clip: Deleted all Advanced App Clip Experiences Removed the App Clip target from my build Removed App Clip references from my apple-app-site-association file Deleted the meta tag from my website: However: When scanning the QR code, the App Clip card still appears with: "This App Clip is not currently available in your country or region." This link still works for my App Clip, which is not what I expected: https://appclip.apple.com/id?p=com.example.appclip Does anyone know why the App Clip card is still showing and how to fully remove it? Thanks!
Replies
1
Boosts
0
Views
134
Activity
Dec ’25
DeclaredAgeRange framework new cases and properties cause runtime crash with missing symbol
I'm making a wrapper library to abstract away some of the 'missing platform support' of DeclaredAgeRange until hopefully it expands to additional platforms. When I'm trying to fully enumerate all of the cases of AgeRangeDeclaration, which they all state available starting 26.0 (mysteriously added in Xcode 26.2 beta), the app crashes due to a missing symbol at launch time. This happens both for Xcode 26.1, 26.2 beta 2, and matching Xcode Cloud builds. So I've isolated it beyond "doesn't work on my machine". I just made a handful of crashes and attached a sysdiagnose to a fresh feedback. FB21121092 - DeclaredAgeRange: Eligibility property and new declaration cases unavailable on iOS 26.1 device contradicting documentation - causes runtime symbol not found crash If anyone is curious what these crashes look like I've attached the DiagnosticPayload.jsonRepresentation() generated from one of my favorite frameworks, MetricKit. Very clearly articulated in the diagnostic metadata you can see the symbol not found. "diagnosticMetaData" : { "platformArchitecture" : "arm64e", "terminationReason" : "Symbol not found: _$s16DeclaredAgeRange0bC7ServiceV0bC11DeclarationO14paymentCheckedyA2EmFWC\nReferenced from: <1894EDCB-3263-3604-8938-97D465FF3720> \/Volumes\/VOLUME\/*\/PerformanceOrganizer.app\/PerformanceOrganizer\nExpected in: <B8FD2C23-0CC9-3D94-902D-875900307A7A> \/System\/Library\/Frameworks\/DeclaredAgeRange.framework\/DeclaredAgeRange", "exceptionType" : 10, "appBuildVersion" : "745", "isTestFlightApp" : true, "osVersion" : "iPhone OS 26.1 (23B85)", "bundleIdentifier" : "dev.twincitiesapp.performanceorganizer", "deviceType" : "iPhone18,1", "exceptionCode" : 0, "signal" : 6, "regionFormat" : "US", "appVersion" : "2.0.0", "pid" : 22987, "lowPowerModeEnabled" : false } DiagnosticPayload.json This is the offending code in a type I control and make available on other platforms but leave unused. extension AgeRangeDeclaration { // A factory or initializer that takes the AgeRangeService.AgeRangeDeclaration and maps to the common AgeRangeDeclaration type public init?(platform value: AgeRangeService.AgeRangeDeclaration?) { guard let value else { return nil } switch value { // Xcode 26.1 visible cases case .selfDeclared: self = .selfDeclared case .guardianDeclared: self = .guardianDeclared // Xcode 26.2 visible cases // This is the first culprit, all of the following symbols would crash, this is just the first case .checkedByOtherMethod: self = .checkedByOtherMethod case .guardianCheckedByOtherMethod: self = .guardianCheckedByOtherMethod case .governmentIDChecked: self = .governmentIDChecked case .guardianGovernmentIDChecked: self = .guardianGovernmentIDChecked case .paymentChecked: self = .paymentChecked case .guardianPaymentChecked: self = .guardianPaymentChecked @unknown default: // Apple added new cases in Xcode 26.2 betas that were available in iOS 26.0, // so it is probable that this could happen again. If it does, assert to let developers // bring it to my attention. assertionFailure("Invalid or out of date knowledge of age range declaration \(value)") self = .unknown } } } For what it is worth, the same is also true for isEligibleForAgeFeatures which I suspect was also added to Xcode 26.2 somehow but not made available to real devices running [26.0 - 26.2). As a side note, thank you for this property, it will let me check what states I need to perform extra checks for in a clean way, I just will need it to now not crash my app on 26.0 and 26.1 runtime devices. :) Edit: DTS did confirm on a comment I had in another thread that this is a bug. Now just to wait for an Xcode beta update. https://developer.apple.com/forums/thread/807906?answerId=867205022#867205022 In any case, this is a great example of how MetricKit totally rocks capturing things other off the shelf crash tools might not have a chance to get. I did have to roll back my TestFlight to an earlier build, but MetricKit was there to send me the previous crashes as soon as the app could launch. Thanks MetricKit team!
Replies
5
Boosts
1
Views
1k
Activity
Dec ’25