Business Models

RSS for tag

Discuss various ways to structure your app, such as freemium or paid.

Posts under Business Models tag

81 Posts

Post

Replies

Boosts

Views

Activity

App rejected under 1.4.3 — identical app (My Humidor) live on App Store
Details: I'm looking for clarification on how Guideline 1.4.3 is applied to tobacco related apps. My app, The Leaf Cellar, was rejected under 1.4.3 with the reasoning that its "current concept is not appropriate" because it relates to tobacco. The app is a private inventory manager. It has no store, no purchasing, no vendor or affiliate links, no discovery feed, and no content directed at encouraging or using tobacco. its only function is personal record-keeping (logging inventory you already own, aging dates, humidity readings). A 21+ age gate is enforced on launch. What I'm trying to understand is the consistency of the guideline, because functionally identical apps are currently live on the store and receiving updates (which means apple must approve the submitted updates.) Existing Apps (not being enforced by 1.4.3): "My Humidor – Cigar Journal": [https://apps.apple.com/us/app/my-humidor-cigar-journal/id6639582700] "Humidor Journal Pro": [https://apps.apple.com/us/app/humidor-journal-pro/id6751737114] Questions: Is there a specific feature or distinction that separates an approvable cigar-journal app from one rejected under 1.4.3 as a "concept"? If apps in this category are already approved, what's the correct path to have an inconsistent rejection reviewed beyond the standard Resolution Center reply? I have already submitted to the App Review Board.
0
0
156
1d
Private Cloud Compute Eligibility
I am trying to understand the 2 million download limit for access to PCC. It says that Analytics provides information about first time downloads, but the linked documentation explicitly says that Total Downloads in Analytics (which does not seem to exist anymore) includes first time downloads and redownloads. Can you clarify where this data currently exists? While I do not have any apps approaching 2 million right now, my app with the most downloads is entirely free and has been on the App Store since 2012. The app was intended as a Lite version for users to try out and decide whether they wanted the paid version. In modern apps, In-App Purchases accomplish something similar; as I move forward with new apps, I would like to avoid a situation where people increase my first time download count but don't end up using the app. It seems like any freemium model would be detrimental to staying eligible for PCC. Do you have any recommendations?
0
0
54
2w
How can I set up a B2B subscription with ABM + MDM + Paywall
I am looking for guidance on how people have solved this problem/use case. What is the best way to structure a seat based subscription app that an organization can pay for seats for all their users, can be distributed via mdm or via app store and is easy (low friction) to get paid for and started for small companies? I market to a business to buy my app, they want it installed on all 25 devices they have. They use ABM to acquire 25 licenses with and MDM to distribute. The app is currently free to download so ABM charges $0 but has a paywall to use. The paywall is a RevenueCat one and no user account is needed. All entitlements and free trial work great. When it is deployed to the 25 devices, they can either sign up with their own AppleId and own/company credit card, or use a company appleid and company card for all 25 devices to solve the issue but neither are great. Doubtful they would want to pay their money for a company required app on a company phone (don’t blame them). If they share an appleid, my MRR drops to 1/25th since they will just share the purchase. Any suggestions would be greatly appreciated.
0
0
302
Feb ’26
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
150
Jan ’26
Can I advertise donating part of app proceedings without using apple pay for donations?
I am currently part of the development team for an app that intends on donating part of its proceedings to charities related to music teaching. We do not intend to let users donate through our app, but will conduct these donations using "our funds", obtained through the app. In our understanding, then, the app will comply to the acceptable business model issues from the App Review Guidelines (item 3.2.1, paragraph vi), in the sense that it wouldn't be necessary for our app to only donate to approved nonprofits. However, we do intend to include within our app the claim that part of the proceedings will go to charity, explicitly stating the percentage of the proceedings to be used to this end. Is this permitted under the App Review Guidelines, and if not, what is the best practice for doing this?
0
0
475
Oct ’25
Paid Apps Agreement Not Showing UP
In https://appstoreconnect.apple.com/business I only see the Free Apps Agreement which I already accepted, but the Paid Apps Agreement is not there. I am the account holder and already signed the new Apple Developer Program License Agreement, so those are not the reasons for this issue. I need to find and accept the Paid Apps Agreement because I have a subscription app on testflight which I want to publish to app store soon. Thanks in advance!
1
0
193
Jun ’25
I have accepted the Paid App Agreements on App Store Connect, but my apps are still unable to process subscriptions
Hi, I have accepted the Paid App Agreements on App Store Connect, but my apps are still unable to process subscriptions. As a result, my users cannot subscribe, and I am losing revenue. Could you please assist me in resolving this issue? I appreciate your help. Thank you.
1
0
351
Feb ’25
App rejected due ipad image unsupported
So my app was rejected in review and the review stated this : The 13-inch iPad screenshots show an iPhone image that has been modified or stretched to appear to be an iPad image. Screenshots should highlight the app's core concept to help users understand the app’s functionality and value. I don't want my app to be supported on ipad, as it probably won't look that good on it. So is there any way i could restrict that to iphones only? Also the review said that We have started our review, but we need additional information to continue. Specifically, it appears your app may access or include paid digital content or services, and we want to understand your business model before completing our review. And they have asked some 5 questions regarding the same. Now, My application is completely free , yet they are saying that may include paid content. So where can i turn this off? In the pricing section , I have selected 0 in my local currency.
1
0
471
Feb ’25
appTransaction.originalAppVersion Production vs. TestFlight
I have just released an update to my app from a Paid app to Free with Subscription model using the method described in Supporting Business Model Changes by Using the App Transaction: https://developer.apple.com/documentation/storekit/supporting-business-model-changes-by-using-the-app-transaction This works as expected in the Simulator and using TestFlight, but once released in production the paid content is not displayed. Does the appTransaction.originalAppVersion refer to Bundle Short Version String or Bundle Version String ?
3
0
597
Feb ’25
Rejected: Guideline 3.1.1 - Business - Payments - In-App Purchase
Our problem is that our app was rejected for "Guideline 3.1.1 - Business - Payments - In-App Purchase". Specifically, "the app uses a promo code to unlock or enable paid features in store". Our app does use promo codes. But these codes do not directly unlock paid functionality. What our app actually does with promo codes is as follows... We have products with ids "Product1" and "Product1_Discount1". These are both valid product definitions in Apple IAP. They enable the same features within the app but have different price definitions. We allow the user to enter an optional promo code. We consult our backend to see if the promo code allows the user the opportunity to purchase "Product1_Discount1", and if it does we display the info defined by "Product1_Discount1", otherwise, we display the info defined by "Product1". We are trying to understand a) is it always going to be a guideline violation to offer our own promo codes for in-app purchases (these are not Apple generated codes, we generate them)?, or b) is there a scenario where it is acceptable to manage our own promo codes for in-app purchases? We didn't see anything in the guidelines that prohibited us to define multiple IAP products that have different prices but enable the same functionality. Is this allowed? Our business goal is to share revenue of purchases that our partners promote which we track using their designated promo codes. Is our approach a definite guideline violation? If so then what is the recommendation to achieve our business goal? Thanks
3
0
797
Jan ’25
App review rejection due to business model issue
Hi, I have built an app for my company where we are providing users to purchase our food bars via the app and then what they purchase , we will deliver to people in conflict effected or disaster effected areas. The purchase is done via stripe and apple pay. The food bars are made of Spirulina and is full of energy and protein. Currently this is available via our web platform. My app was rejected as my company is not a recognized non profit. I would like to know how I can get my app approved. The only viable option given for me via app review was to take my payment screen to a web platform as donations. However I would like to know if the issue is that the app is making users believe they are donating, by me changing the wordings, images , and structure of the app to ensure users know that they are purchasing the food bars and we are only delivering, will is help is app being approved by app store review.
0
0
356
Nov ’24
Change a free app to a paid one
I have released a free app on the App Store, and some users have already downloaded it. Recently, I want to change this app to a paid app. I would like to know if users who have already downloaded the app will need to pay for it. I understand that if users still have the app on their device, they can update it for free; but if users have uninstalled the app, will they be required to pay when they download it again?
0
0
492
Oct ’24
Universal vpn client app rejected / in-app purchases required
Hi team, My app was rejected, and I believe there may be a misunderstanding regarding our business model. I have provided detailed explanations and examples of similar apps, but I continue to receive the following standard response: “Regarding 3.1.1, the app still uses a paid key to unlock or enable paid content. To resolve this issue, it would be appropriate to remove these features from the app and any other feature that unlocks or enables functionality with mechanisms other than the App Store.” I have submitted an appeal today, but I’d appreciate any advice in the meantime. It’s possible that I’m not communicating our business model clearly, and I wonder if there’s a better way to explain it to the Apple Review Team. Our app is a universal Xray VPN Client. It does not contain paid content. The app is free and allows users to connect to any VPN provider or self-hosted VPN server using VLESS/XTLS/Xray technology. Users obtain VPN keys from third-party providers, which can be either free or paid. Our app simply allows users to input these keys to connect to the VPN servers. There are no purchases or features unlocked within the app itself—users acquire keys externally from VPN providers or by setting up their own VPN servers. In certain regions, keys may even be distributed offline via local providers. Our app functions similarly to a web browser, where users input links (VPN keys) to access content. Many apps on the Apple Store operate in this same manner, such as: Streisand: https://apps.apple.com/ru/app/streisand/id6450534064?l=en-GB V2Box: https://apps.apple.com/ru/app/v2box-v2ray-client/id6446814690?l=en-GB ShadowRocket: https://apps.apple.com/ru/app/shadowrocket/id932747118?l=en-GB V2RayTUN: https://apps.apple.com/ru/app/v2raytun/id6476628951?l=en-GB FoXRay: https://apps.apple.com/ru/app/foxray/id6448898396?l=en-GB V2RayU: https://apps.apple.com/ru/app/v2rayu-vm/id1622785357?l=en-GB NpV Tunnel: https://apps.apple.com/ru/app/npv-tunnel/id1629465476?l=en-GB Potatso: https://apps.apple.com/ru/app/potatso/id1239860606?l=en-GB Fair VPN: https://apps.apple.com/ru/app/fair-vpn/id1533873488?l=en-GB And many others. I’m feeling stuck :( If anyone has suggestions or can point me to a specific clause in the Review Guidelines that could help, I would be really grateful!
1
0
776
Sep ’24
App Removal - Appeal Hasn't Receive Any Update
Our application is a new app for multifinance in Indonesia and we got remove on 4th. It was stated we have violated 3.2(f) and 5.6.2 Has submit appeal separately on 5th, 12th and 23rd to clarify on the issue and we haven't received any updates yet Kind of anxious here cause it was also mentioned that within 30 days our account will be terminated. Any suggestion on this issue how should we do next step?
0
0
627
Jul ’24
Why is it not possible to provide a free trial for paid apps?
My application uses "paid" monetization model. I think in the productivity category it works quite well. However, when I advertise my application, 50% of the questions are: "is there a free trial?" and I would love to provide a free trial to potential customers, but the App Store doesn't allow me to do that. I don't understand why this feature is not available. I even started considering migration to in-app purchases, but it's quite a big deal. I managed to establish quite a good profit and I'm worried how it would affect my positioning and results. On top of that, I really like the paid up-front model, because it solves many issues and doesn't need any extra implementation on my side. I'm starting this thread to hear what you think about that and how many people are looking for this feature. I also created a feature request in Feedback Assistant: #FB13810170
1
0
894
May ’24
Assistance with Configuring Free Tier and In-App Purchases for Cordova App
Hi, Thanks for getting back to me regarding my query. I'm developing a Cordova app that includes games with an initial free tier and additional tiers available through in-app purchases. Here’s a detailed explanation of what I’m aiming to achieve: Users can play a set of games for free initially (Free Tier). After playing a certain number of games, users can purchase additional game tiers: Tier 1: Adds 3 more games. Tier 2: Adds 6 more games. Tier 3: Adds 9 more games. Users can continue playing the games in any purchased tier indefinitely. If users do not wish to purchase additional tiers, they can continue playing the free tier games with limited themes but without restrictions on play count. Questions: How can I configure App Store Connect to offer the Free Tier initially and then present the in-app purchase options for the additional tiers? Is there a specific configuration in App Store Connect that supports this model, or do I need to handle this logic within the app itself? I appreciate any guidance you can provide on setting this up correctly. Best regards, T
0
0
680
May ’24
in-app purchase with free tier
Hi, I am developing Cordova apps/games with in-app purchase products as well as an initial product as non-paid (Free) tier: New users will be able to play freely for a set of games as default at the beginning. Then, if they would like to have more games with different set of attributes or themes, they can add more games with in-app purchases. It is similar to a game called Subway Surfers in App Store I would play in the past. A new player initiates games as Free Tier. After, let us say 3 games, the user is asked if he/she would like to have more games to play with different scenes/themes in different Tiers, in addition to their disposal: Tier 1, Tier 2 and Tier 3. For example Tier 1 adds 3 more games into the Free Tier games so they can play 6 games in the set;Tier 2 add 6 more games and so 9 games they can play and so on. Each individual game in their set is a variant of others in differing Tiers. If they don't wish and play Free Tier games, they may play them too, with limited set of themes but infinite times. If a user chooses a tier, let us say Tier 1, and when they play 6 games, they are asked if they would like advance to Tier 2 or Tier 3. If they choose Tier 2, as they complete the respective games they will be asked for Tier 3. However, if they don't wish to advance, again they can play current Tier games as many times as they wish. It is like non-subscription apps then converted to subscription-based ones. In App Store Connect, I created a number of products for in-app purchases for an app. How I can deliver this Free Tier games in the app and let users try it and allow them to choose in-app purchase products available in AppStore Connect. I would appreciate response and support. Best Lexxyacc
0
0
838
May ’24
Changing an app from free to freemium with in app purchases
Hi everyone, is it possible to launch my app for free first and then convert it to freemium with in-app purchases? Since I currently have very little content in my app, I want to focus on releasing it for free and collecting user feedback first. Afterwards, I want to convert it to freemium. Is there such a possibility?
1
0
941
Apr ’24
Thread 1: Breakpoint 1.1
I can't find the problem.. - The simulator is stopping after opening the app... Database`property wrapper backing initializer of ContentViewViewModel.currentUserId: 0x104c12bd0 <+0>: sub sp, sp, #0x50 0x104c12bd4 <+4>: stp x29, x30, [sp, #0x40] 0x104c12bd8 <+8>: add x29, sp, #0x40 0x104c12bdc <+12>: str x8, [sp, #0x10] 0x104c12be0 <+16>: mov x8, x0 0x104c12be4 <+20>: str x8, [sp, #0x8] 0x104c12be8 <+24>: mov x0, x1 0x104c12bec <+28>: str x0, [sp, #0x18] 0x104c12bf0 <+32>: stur xzr, [x29, #-0x10] 0x104c12bf4 <+36>: stur xzr, [x29, #-0x8] -> 0x104c12bf8 <+40>: stur x8, [x29, #-0x10] 0x104c12bfc <+44>: mov x1, x0 0x104c12c00 <+48>: stur x1, [x29, #-0x8] 0x104c12c04 <+52>: bl 0x1053b9a88 ; symbol stub for: swift_bridgeObjectRetain 0x104c12c08 <+56>: ldr x9, [sp, #0x8] 0x104c12c0c <+60>: ldr x8, [sp, #0x10] 0x104c12c10 <+64>: ldr x1, [sp, #0x18] 0x104c12c14 <+68>: add x0, sp, #0x20 0x104c12c18 <+72>: str x9, [sp, #0x20] 0x104c12c1c <+76>: str x1, [sp, #0x28] 0x104c12c20 <+80>: adrp x1, 2556 0x104c12c24 <+84>: ldr x1, [x1, #0xa00] 0x104c12c28 <+88>: bl 0x104c12c40 ; Combine.Published.init(wrappedValue: Value) -> Combine.Published<Value> at <compiler-generated> 0x104c12c2c <+92>: ldr x0, [sp, #0x18] 0x104c12c30 <+96>: bl 0x1053b91a0 ; symbol stub for: swift_bridgeObjectRelease 0x104c12c34 <+100>: ldp x29, x30, [sp, #0x40] 0x104c12c38 <+104>: add sp, sp, #0x50 0x104c12c3c <+108>: ret // // ContentViewViewModel.swift // Database // // Created by Maxi on 25.03.24. // import Firebase import FirebaseAuth import Foundation class ContentViewViewModel: ObservableObject { @Published var currentUserId: String = "" private var handler: AuthStateDidChangeListenerHandle? init () { self.handler = Auth.auth().addStateDidChangeListener{ [weak self] _, user in DispatchQueue.main.async { self?.currentUserId = user?.uid ?? "" } } } public var isSignedIn: Bool { return Auth.auth().currentUser != nil } } // // ContentView.swift // Database // // Created by Maxi on 25.03.24. // import Firebase import FirebaseAuth import SwiftUI struct ContentView: View { @StateObject var viewModel = ContentViewViewModel() var body: some View { VStack { NavigationView { if viewModel.isSignedIn, !viewModel.currentUserId.isEmpty { //signed in HomeView() } else { LoginView() } } .padding() } } } struct ContentView_Previews: PreviewProvider{ static var previews: some View { ContentView() } } // // HomeView.swift // Database // // Created by Maxi on 25.03.24. // import SwiftUI struct HomeView: View { var body: some View { Text("Welcome to your Account!") } } #Preview { HomeView() } // // LoginViewViewModel.swift // Database // // Created by Maxi on 25.03.24. // import FirebaseAuth import Foundation class LoginViewViewModel: ObservableObject { @Published var email = "" @Published var password = "" @Published var errorMessage = "" init() {} func login() { guard validate() else { return } //Try log in Auth.auth().signIn(withEmail: email, password: password) } private func validate() -> Bool { errorMessage = "" guard !email.trimmingCharacters(in: .whitespaces).isEmpty, !password.trimmingCharacters(in: .whitespaces).isEmpty else { errorMessage = "Bitte füllen Sie alle Felder aus." return false } guard email.contains("@") && email.contains(".") else { errorMessage = "Bitte geben Sie eine gültige Email-Adresse ein." return false } return true } } // // LoginView.swift // Database // // Created by Maxi on 25.03.24. // import SwiftUI struct LoginView: View { @StateObject var viewModel = LoginViewViewModel() var body: some View { NavigationView { VStack { //Header HeaderView() if !viewModel.errorMessage.isEmpty{ Text(viewModel.errorMessage) .foregroundColor(Color.red) } Form{ TextField("E-Mail Adresse", text: $viewModel.email) .textFieldStyle(DefaultTextFieldStyle()) .autocapitalization(/*@START_MENU_TOKEN@*/.none/*@END_MENU_TOKEN@*/) SecureField("Passwort", text: $viewModel.password) .textFieldStyle(DefaultTextFieldStyle()) CreateAccountButton( title: "Anmelden", background: .blue) { viewModel.login() } } //Create ACC VStack { Text ("Neu hier?") //Show registartion NavigationLink ("Erstelle einen Account", destination: RegisterView()) } } } } } struct LoginView_Previews: PreviewProvider{ static var previews: some View { LoginView() } }
0
0
876
Mar ’24
App rejected under 1.4.3 — identical app (My Humidor) live on App Store
Details: I'm looking for clarification on how Guideline 1.4.3 is applied to tobacco related apps. My app, The Leaf Cellar, was rejected under 1.4.3 with the reasoning that its "current concept is not appropriate" because it relates to tobacco. The app is a private inventory manager. It has no store, no purchasing, no vendor or affiliate links, no discovery feed, and no content directed at encouraging or using tobacco. its only function is personal record-keeping (logging inventory you already own, aging dates, humidity readings). A 21+ age gate is enforced on launch. What I'm trying to understand is the consistency of the guideline, because functionally identical apps are currently live on the store and receiving updates (which means apple must approve the submitted updates.) Existing Apps (not being enforced by 1.4.3): "My Humidor – Cigar Journal": [https://apps.apple.com/us/app/my-humidor-cigar-journal/id6639582700] "Humidor Journal Pro": [https://apps.apple.com/us/app/humidor-journal-pro/id6751737114] Questions: Is there a specific feature or distinction that separates an approvable cigar-journal app from one rejected under 1.4.3 as a "concept"? If apps in this category are already approved, what's the correct path to have an inconsistent rejection reviewed beyond the standard Resolution Center reply? I have already submitted to the App Review Board.
Replies
0
Boosts
0
Views
156
Activity
1d
Private Cloud Compute Eligibility
I am trying to understand the 2 million download limit for access to PCC. It says that Analytics provides information about first time downloads, but the linked documentation explicitly says that Total Downloads in Analytics (which does not seem to exist anymore) includes first time downloads and redownloads. Can you clarify where this data currently exists? While I do not have any apps approaching 2 million right now, my app with the most downloads is entirely free and has been on the App Store since 2012. The app was intended as a Lite version for users to try out and decide whether they wanted the paid version. In modern apps, In-App Purchases accomplish something similar; as I move forward with new apps, I would like to avoid a situation where people increase my first time download count but don't end up using the app. It seems like any freemium model would be detrimental to staying eligible for PCC. Do you have any recommendations?
Replies
0
Boosts
0
Views
54
Activity
2w
App flgged by apple for paid version clarification
Currently I have an app which is completely free for all the users, I might have future versions where I will introduce paid version, where I will surely use Apple IAP and Revenue CAT. How should I clarify this to App store? Should I tell only what I am doing today, or also tell what I will do in future and keep Apple IAP in my conversation?
Replies
0
Boosts
0
Views
298
Activity
Mar ’26
How can I set up a B2B subscription with ABM + MDM + Paywall
I am looking for guidance on how people have solved this problem/use case. What is the best way to structure a seat based subscription app that an organization can pay for seats for all their users, can be distributed via mdm or via app store and is easy (low friction) to get paid for and started for small companies? I market to a business to buy my app, they want it installed on all 25 devices they have. They use ABM to acquire 25 licenses with and MDM to distribute. The app is currently free to download so ABM charges $0 but has a paywall to use. The paywall is a RevenueCat one and no user account is needed. All entitlements and free trial work great. When it is deployed to the 25 devices, they can either sign up with their own AppleId and own/company credit card, or use a company appleid and company card for all 25 devices to solve the issue but neither are great. Doubtful they would want to pay their money for a company required app on a company phone (don’t blame them). If they share an appleid, my MRR drops to 1/25th since they will just share the purchase. Any suggestions would be greatly appreciated.
Replies
0
Boosts
0
Views
302
Activity
Feb ’26
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
150
Activity
Jan ’26
Can I advertise donating part of app proceedings without using apple pay for donations?
I am currently part of the development team for an app that intends on donating part of its proceedings to charities related to music teaching. We do not intend to let users donate through our app, but will conduct these donations using "our funds", obtained through the app. In our understanding, then, the app will comply to the acceptable business model issues from the App Review Guidelines (item 3.2.1, paragraph vi), in the sense that it wouldn't be necessary for our app to only donate to approved nonprofits. However, we do intend to include within our app the claim that part of the proceedings will go to charity, explicitly stating the percentage of the proceedings to be used to this end. Is this permitted under the App Review Guidelines, and if not, what is the best practice for doing this?
Replies
0
Boosts
0
Views
475
Activity
Oct ’25
Paid Apps Agreement Not Showing UP
In https://appstoreconnect.apple.com/business I only see the Free Apps Agreement which I already accepted, but the Paid Apps Agreement is not there. I am the account holder and already signed the new Apple Developer Program License Agreement, so those are not the reasons for this issue. I need to find and accept the Paid Apps Agreement because I have a subscription app on testflight which I want to publish to app store soon. Thanks in advance!
Replies
1
Boosts
0
Views
193
Activity
Jun ’25
I have accepted the Paid App Agreements on App Store Connect, but my apps are still unable to process subscriptions
Hi, I have accepted the Paid App Agreements on App Store Connect, but my apps are still unable to process subscriptions. As a result, my users cannot subscribe, and I am losing revenue. Could you please assist me in resolving this issue? I appreciate your help. Thank you.
Replies
1
Boosts
0
Views
351
Activity
Feb ’25
App rejected due ipad image unsupported
So my app was rejected in review and the review stated this : The 13-inch iPad screenshots show an iPhone image that has been modified or stretched to appear to be an iPad image. Screenshots should highlight the app's core concept to help users understand the app’s functionality and value. I don't want my app to be supported on ipad, as it probably won't look that good on it. So is there any way i could restrict that to iphones only? Also the review said that We have started our review, but we need additional information to continue. Specifically, it appears your app may access or include paid digital content or services, and we want to understand your business model before completing our review. And they have asked some 5 questions regarding the same. Now, My application is completely free , yet they are saying that may include paid content. So where can i turn this off? In the pricing section , I have selected 0 in my local currency.
Replies
1
Boosts
0
Views
471
Activity
Feb ’25
appTransaction.originalAppVersion Production vs. TestFlight
I have just released an update to my app from a Paid app to Free with Subscription model using the method described in Supporting Business Model Changes by Using the App Transaction: https://developer.apple.com/documentation/storekit/supporting-business-model-changes-by-using-the-app-transaction This works as expected in the Simulator and using TestFlight, but once released in production the paid content is not displayed. Does the appTransaction.originalAppVersion refer to Bundle Short Version String or Bundle Version String ?
Replies
3
Boosts
0
Views
597
Activity
Feb ’25
Rejected: Guideline 3.1.1 - Business - Payments - In-App Purchase
Our problem is that our app was rejected for "Guideline 3.1.1 - Business - Payments - In-App Purchase". Specifically, "the app uses a promo code to unlock or enable paid features in store". Our app does use promo codes. But these codes do not directly unlock paid functionality. What our app actually does with promo codes is as follows... We have products with ids "Product1" and "Product1_Discount1". These are both valid product definitions in Apple IAP. They enable the same features within the app but have different price definitions. We allow the user to enter an optional promo code. We consult our backend to see if the promo code allows the user the opportunity to purchase "Product1_Discount1", and if it does we display the info defined by "Product1_Discount1", otherwise, we display the info defined by "Product1". We are trying to understand a) is it always going to be a guideline violation to offer our own promo codes for in-app purchases (these are not Apple generated codes, we generate them)?, or b) is there a scenario where it is acceptable to manage our own promo codes for in-app purchases? We didn't see anything in the guidelines that prohibited us to define multiple IAP products that have different prices but enable the same functionality. Is this allowed? Our business goal is to share revenue of purchases that our partners promote which we track using their designated promo codes. Is our approach a definite guideline violation? If so then what is the recommendation to achieve our business goal? Thanks
Replies
3
Boosts
0
Views
797
Activity
Jan ’25
App review rejection due to business model issue
Hi, I have built an app for my company where we are providing users to purchase our food bars via the app and then what they purchase , we will deliver to people in conflict effected or disaster effected areas. The purchase is done via stripe and apple pay. The food bars are made of Spirulina and is full of energy and protein. Currently this is available via our web platform. My app was rejected as my company is not a recognized non profit. I would like to know how I can get my app approved. The only viable option given for me via app review was to take my payment screen to a web platform as donations. However I would like to know if the issue is that the app is making users believe they are donating, by me changing the wordings, images , and structure of the app to ensure users know that they are purchasing the food bars and we are only delivering, will is help is app being approved by app store review.
Replies
0
Boosts
0
Views
356
Activity
Nov ’24
Change a free app to a paid one
I have released a free app on the App Store, and some users have already downloaded it. Recently, I want to change this app to a paid app. I would like to know if users who have already downloaded the app will need to pay for it. I understand that if users still have the app on their device, they can update it for free; but if users have uninstalled the app, will they be required to pay when they download it again?
Replies
0
Boosts
0
Views
492
Activity
Oct ’24
Universal vpn client app rejected / in-app purchases required
Hi team, My app was rejected, and I believe there may be a misunderstanding regarding our business model. I have provided detailed explanations and examples of similar apps, but I continue to receive the following standard response: “Regarding 3.1.1, the app still uses a paid key to unlock or enable paid content. To resolve this issue, it would be appropriate to remove these features from the app and any other feature that unlocks or enables functionality with mechanisms other than the App Store.” I have submitted an appeal today, but I’d appreciate any advice in the meantime. It’s possible that I’m not communicating our business model clearly, and I wonder if there’s a better way to explain it to the Apple Review Team. Our app is a universal Xray VPN Client. It does not contain paid content. The app is free and allows users to connect to any VPN provider or self-hosted VPN server using VLESS/XTLS/Xray technology. Users obtain VPN keys from third-party providers, which can be either free or paid. Our app simply allows users to input these keys to connect to the VPN servers. There are no purchases or features unlocked within the app itself—users acquire keys externally from VPN providers or by setting up their own VPN servers. In certain regions, keys may even be distributed offline via local providers. Our app functions similarly to a web browser, where users input links (VPN keys) to access content. Many apps on the Apple Store operate in this same manner, such as: Streisand: https://apps.apple.com/ru/app/streisand/id6450534064?l=en-GB V2Box: https://apps.apple.com/ru/app/v2box-v2ray-client/id6446814690?l=en-GB ShadowRocket: https://apps.apple.com/ru/app/shadowrocket/id932747118?l=en-GB V2RayTUN: https://apps.apple.com/ru/app/v2raytun/id6476628951?l=en-GB FoXRay: https://apps.apple.com/ru/app/foxray/id6448898396?l=en-GB V2RayU: https://apps.apple.com/ru/app/v2rayu-vm/id1622785357?l=en-GB NpV Tunnel: https://apps.apple.com/ru/app/npv-tunnel/id1629465476?l=en-GB Potatso: https://apps.apple.com/ru/app/potatso/id1239860606?l=en-GB Fair VPN: https://apps.apple.com/ru/app/fair-vpn/id1533873488?l=en-GB And many others. I’m feeling stuck :( If anyone has suggestions or can point me to a specific clause in the Review Guidelines that could help, I would be really grateful!
Replies
1
Boosts
0
Views
776
Activity
Sep ’24
App Removal - Appeal Hasn't Receive Any Update
Our application is a new app for multifinance in Indonesia and we got remove on 4th. It was stated we have violated 3.2(f) and 5.6.2 Has submit appeal separately on 5th, 12th and 23rd to clarify on the issue and we haven't received any updates yet Kind of anxious here cause it was also mentioned that within 30 days our account will be terminated. Any suggestion on this issue how should we do next step?
Replies
0
Boosts
0
Views
627
Activity
Jul ’24
Why is it not possible to provide a free trial for paid apps?
My application uses "paid" monetization model. I think in the productivity category it works quite well. However, when I advertise my application, 50% of the questions are: "is there a free trial?" and I would love to provide a free trial to potential customers, but the App Store doesn't allow me to do that. I don't understand why this feature is not available. I even started considering migration to in-app purchases, but it's quite a big deal. I managed to establish quite a good profit and I'm worried how it would affect my positioning and results. On top of that, I really like the paid up-front model, because it solves many issues and doesn't need any extra implementation on my side. I'm starting this thread to hear what you think about that and how many people are looking for this feature. I also created a feature request in Feedback Assistant: #FB13810170
Replies
1
Boosts
0
Views
894
Activity
May ’24
Assistance with Configuring Free Tier and In-App Purchases for Cordova App
Hi, Thanks for getting back to me regarding my query. I'm developing a Cordova app that includes games with an initial free tier and additional tiers available through in-app purchases. Here’s a detailed explanation of what I’m aiming to achieve: Users can play a set of games for free initially (Free Tier). After playing a certain number of games, users can purchase additional game tiers: Tier 1: Adds 3 more games. Tier 2: Adds 6 more games. Tier 3: Adds 9 more games. Users can continue playing the games in any purchased tier indefinitely. If users do not wish to purchase additional tiers, they can continue playing the free tier games with limited themes but without restrictions on play count. Questions: How can I configure App Store Connect to offer the Free Tier initially and then present the in-app purchase options for the additional tiers? Is there a specific configuration in App Store Connect that supports this model, or do I need to handle this logic within the app itself? I appreciate any guidance you can provide on setting this up correctly. Best regards, T
Replies
0
Boosts
0
Views
680
Activity
May ’24
in-app purchase with free tier
Hi, I am developing Cordova apps/games with in-app purchase products as well as an initial product as non-paid (Free) tier: New users will be able to play freely for a set of games as default at the beginning. Then, if they would like to have more games with different set of attributes or themes, they can add more games with in-app purchases. It is similar to a game called Subway Surfers in App Store I would play in the past. A new player initiates games as Free Tier. After, let us say 3 games, the user is asked if he/she would like to have more games to play with different scenes/themes in different Tiers, in addition to their disposal: Tier 1, Tier 2 and Tier 3. For example Tier 1 adds 3 more games into the Free Tier games so they can play 6 games in the set;Tier 2 add 6 more games and so 9 games they can play and so on. Each individual game in their set is a variant of others in differing Tiers. If they don't wish and play Free Tier games, they may play them too, with limited set of themes but infinite times. If a user chooses a tier, let us say Tier 1, and when they play 6 games, they are asked if they would like advance to Tier 2 or Tier 3. If they choose Tier 2, as they complete the respective games they will be asked for Tier 3. However, if they don't wish to advance, again they can play current Tier games as many times as they wish. It is like non-subscription apps then converted to subscription-based ones. In App Store Connect, I created a number of products for in-app purchases for an app. How I can deliver this Free Tier games in the app and let users try it and allow them to choose in-app purchase products available in AppStore Connect. I would appreciate response and support. Best Lexxyacc
Replies
0
Boosts
0
Views
838
Activity
May ’24
Changing an app from free to freemium with in app purchases
Hi everyone, is it possible to launch my app for free first and then convert it to freemium with in-app purchases? Since I currently have very little content in my app, I want to focus on releasing it for free and collecting user feedback first. Afterwards, I want to convert it to freemium. Is there such a possibility?
Replies
1
Boosts
0
Views
941
Activity
Apr ’24
Thread 1: Breakpoint 1.1
I can't find the problem.. - The simulator is stopping after opening the app... Database`property wrapper backing initializer of ContentViewViewModel.currentUserId: 0x104c12bd0 <+0>: sub sp, sp, #0x50 0x104c12bd4 <+4>: stp x29, x30, [sp, #0x40] 0x104c12bd8 <+8>: add x29, sp, #0x40 0x104c12bdc <+12>: str x8, [sp, #0x10] 0x104c12be0 <+16>: mov x8, x0 0x104c12be4 <+20>: str x8, [sp, #0x8] 0x104c12be8 <+24>: mov x0, x1 0x104c12bec <+28>: str x0, [sp, #0x18] 0x104c12bf0 <+32>: stur xzr, [x29, #-0x10] 0x104c12bf4 <+36>: stur xzr, [x29, #-0x8] -> 0x104c12bf8 <+40>: stur x8, [x29, #-0x10] 0x104c12bfc <+44>: mov x1, x0 0x104c12c00 <+48>: stur x1, [x29, #-0x8] 0x104c12c04 <+52>: bl 0x1053b9a88 ; symbol stub for: swift_bridgeObjectRetain 0x104c12c08 <+56>: ldr x9, [sp, #0x8] 0x104c12c0c <+60>: ldr x8, [sp, #0x10] 0x104c12c10 <+64>: ldr x1, [sp, #0x18] 0x104c12c14 <+68>: add x0, sp, #0x20 0x104c12c18 <+72>: str x9, [sp, #0x20] 0x104c12c1c <+76>: str x1, [sp, #0x28] 0x104c12c20 <+80>: adrp x1, 2556 0x104c12c24 <+84>: ldr x1, [x1, #0xa00] 0x104c12c28 <+88>: bl 0x104c12c40 ; Combine.Published.init(wrappedValue: Value) -> Combine.Published<Value> at <compiler-generated> 0x104c12c2c <+92>: ldr x0, [sp, #0x18] 0x104c12c30 <+96>: bl 0x1053b91a0 ; symbol stub for: swift_bridgeObjectRelease 0x104c12c34 <+100>: ldp x29, x30, [sp, #0x40] 0x104c12c38 <+104>: add sp, sp, #0x50 0x104c12c3c <+108>: ret // // ContentViewViewModel.swift // Database // // Created by Maxi on 25.03.24. // import Firebase import FirebaseAuth import Foundation class ContentViewViewModel: ObservableObject { @Published var currentUserId: String = "" private var handler: AuthStateDidChangeListenerHandle? init () { self.handler = Auth.auth().addStateDidChangeListener{ [weak self] _, user in DispatchQueue.main.async { self?.currentUserId = user?.uid ?? "" } } } public var isSignedIn: Bool { return Auth.auth().currentUser != nil } } // // ContentView.swift // Database // // Created by Maxi on 25.03.24. // import Firebase import FirebaseAuth import SwiftUI struct ContentView: View { @StateObject var viewModel = ContentViewViewModel() var body: some View { VStack { NavigationView { if viewModel.isSignedIn, !viewModel.currentUserId.isEmpty { //signed in HomeView() } else { LoginView() } } .padding() } } } struct ContentView_Previews: PreviewProvider{ static var previews: some View { ContentView() } } // // HomeView.swift // Database // // Created by Maxi on 25.03.24. // import SwiftUI struct HomeView: View { var body: some View { Text("Welcome to your Account!") } } #Preview { HomeView() } // // LoginViewViewModel.swift // Database // // Created by Maxi on 25.03.24. // import FirebaseAuth import Foundation class LoginViewViewModel: ObservableObject { @Published var email = "" @Published var password = "" @Published var errorMessage = "" init() {} func login() { guard validate() else { return } //Try log in Auth.auth().signIn(withEmail: email, password: password) } private func validate() -> Bool { errorMessage = "" guard !email.trimmingCharacters(in: .whitespaces).isEmpty, !password.trimmingCharacters(in: .whitespaces).isEmpty else { errorMessage = "Bitte füllen Sie alle Felder aus." return false } guard email.contains("@") && email.contains(".") else { errorMessage = "Bitte geben Sie eine gültige Email-Adresse ein." return false } return true } } // // LoginView.swift // Database // // Created by Maxi on 25.03.24. // import SwiftUI struct LoginView: View { @StateObject var viewModel = LoginViewViewModel() var body: some View { NavigationView { VStack { //Header HeaderView() if !viewModel.errorMessage.isEmpty{ Text(viewModel.errorMessage) .foregroundColor(Color.red) } Form{ TextField("E-Mail Adresse", text: $viewModel.email) .textFieldStyle(DefaultTextFieldStyle()) .autocapitalization(/*@START_MENU_TOKEN@*/.none/*@END_MENU_TOKEN@*/) SecureField("Passwort", text: $viewModel.password) .textFieldStyle(DefaultTextFieldStyle()) CreateAccountButton( title: "Anmelden", background: .blue) { viewModel.login() } } //Create ACC VStack { Text ("Neu hier?") //Show registartion NavigationLink ("Erstelle einen Account", destination: RegisterView()) } } } } } struct LoginView_Previews: PreviewProvider{ static var previews: some View { LoginView() } }
Replies
0
Boosts
0
Views
876
Activity
Mar ’24