Our app just got rejected by the app store with the following explanation:
Your application is labeled as pre-release software. Pre-release or trial software cannot be accepted into the production environment and is not in compliance with the App Store Review Guidelines.
If you are interested in trial testing your app and making it available only to certain users, Ad Hoc distribution is available to broaden your user base. Information on Ad Hoc distribution is available in the iOS Developer Program User Guide.
It might be a silly question, but I cannot figure out how our app is "labeled as pre-release". Is it some flag that is set in our project or target? Or is it something which is set in iTunes Connect?
UPDATE:
We have gotten an reply from Apple and it was as I thought an misunderstanding of our business model which they have accepted now.
I have accepted Hubert's answer as it was the one which was closest to the issue, although Codo's comment (which I gave an upvote) came first.
Did you read App Store Review Guidelines? (Link: https://developer.apple.com/appstore/guidelines.html)
Here are some items from this document:
2.9 Apps that are "beta", "demo", "trial", or "test" versions will be rejected.
2.13 Apps that are primarily marketing materials or advertisements will be rejected.
3.2 Apps with placeholder text will be rejected.
This problem occurred to me once, because I made my build through the Beta version of XCODE. So just make sure you are not Beta versions of iOS SDK. Hope it helps.
Related
I am working with a team on a mobile application. Everyone would like to use and have this app on their phones. However when I tried to install this app on phones with Xcode I've reached the limit of 5 devices. I wanted to buy an Apple Developer Program account so that I can send this app to other with the help of TestFlight app. Can someone confirm if I understood the information that I found on Apple website correctly:
I can add testers to the app using the link which will be send to them
They will be able to download and test the app for 90 days
They don't have to have Apple Developer Account? (I am not sure about that)
Since the app will not be published but only uploaded for testing it will not have to go through review process
If someone has better idea how to install application on around 10 devices I will be happy to hear that. If someone has any experience with uploading Flutter app to iOS I will also be happy to hear if there are maybe some tricky parts during this process.
Your test users don't need to be part of your developer team, but they must have an Apple ID in order to download the TestFlight App from the App Store. The email you send the invitation to doesn't have to be their Apple ID.
If the users are not part of your developer program team then your app will need to go through TestFlight review before it is available to them.
The good news is that TestFlight review is not as thorough as release review since Apple understands the app is still under development. The bad news is that TestFlight review typically takes a few days for a new version vs the typical 12 hour review for an App Store release.
Once you have a version approved for testing, it is best if you can release new TestFlight builds within the same app version. New builds do not require a manual review and can be approved for testing automatically.
If you change the version then another manual review is required.
You understand correctly. Most of the tricky parts handled by XCode usually but if you encounter any issues don't hesitate to ask.
I'm not an iOS developer but I'm faced with the need to publish our application to App Store. Sorry if it the questions sounds stupid:)
We need to make a test flight, just to show the app to our customer. The issue is that we need to do it not through Fabric and etc but through App Store, that's crucial.
Is there an opportunity to restrict the app to certain devices by UDID since the app is not ready? Thank you!
UPDATE I need to publish to App Store, not though Fabric or Test Flight and etc. I understand it should not be done this way but I have such requirements
try using diawi.com
Diawi is a tool for developers to deploy Development and In-house applications directly to the devices
You cannot distribute through app store and target some specific device.
If you publish on the app store then the app becomes visible to all.
If you would like to make some kind of restriction than make a login screen through which you open up the rest of the app, and give the credentials to your specific customer.
Using Test Flight you can share the app-store version to your customer based on his appleId
From https://developer.apple.com/app-store/review/guidelines/#before-you-submit
2.2 Beta Testing
Demos, betas, and trial versions of your app don’t belong on the App Store – use TestFlight instead. Any app submitted for beta
distribution via TestFlight should be intended for public distribution
and should comply with the App Review Guidelines. Note, however, that
apps using TestFlight cannot be distributed to testers in exchange for
compensation of any kind, including as a reward for crowd-sourced
funding. Significant updates to your beta build should be submitted to
TestFlight App Review before being distributed to your testers. To
learn more, visit the TestFlight Beta Testing.
You can publish to the App Store using Apple's B2B program, which will allow you to restrict sales to specific B2B customers of yours.
See: https://developer.apple.com/business/custom-apps/
I updated a new version to Appstore. My app got rejected due to the following issue.
PLA 2.3
Your app or its metadata contains references to a pre-release version of Apple software or hardware. Apps with compatibility references to a pre-GM version of iOS SDK or pre-released Apple hardware are not in compliance with the Apple Developer Program License Agreement.
Specifically, section 2.3 states:
"Apple may provide You with pre-release versions of the Apple Software or related services that constitute Apple Confidential Information and are subject to the confidentiality obligations of this Agreement."
Next Steps
Please remove all references to pre-release versions of Apple software and hardware from your app and its metadata.
Since your iTunes Connect status is Rejected, a new binary will be required. Make the desired metadata changes when you upload the new binary.
The description we are using as follows:
"Our app allows anyone with xyz account to access their eligible accounts from a cell phone or mobile device. You can check balances, review recent account activity 24 hours a day, 7 days a week. Our app offers different ways to access your accounts: By downloading the Mobile App for the iPhone®."
And the screenshot shared by him says "App needs to be updated. The app will not work with iOS 11. The developer of the app will need to update it for compatibility."
I had added 64-bit architecture.
Please suggest for some solutions to resolve the issue.
64-bit architecture is not a problem, your snapshot also not showing any problematic content.
App rejection reason clearly says, that Description about app contains an information about apple hardware/software technology, that is not officially released or in Beta version mode.
Remove such kind of information from your app.
Here is Apple Guideline for Section 2.3. Go through each points carefully and see what you've violated in your app.
Here is Apple's Licence Agreement for usage of pre-release SDK.
SDK Internal Use License and Restrictions
- Confidential Nature of Pre-Release SDK: From time to time during the Term, Apple may provide You with pre-release versions of the SDK
that constitute Apple Confidential Information and are subject to the confidentiality obligations of
this Agreement. Such pre-release versions of the SDK should not be relied upon to perform in the
same manner as a final-release commercial-grade product, nor should they be used with data that is not sufficiently and regularly backed up. Distribution of Applications created with the SDK is not permitted absent a separate agreement with Apple.
For this statement:
App needs to be updated. The app will not work with iOS 11. The developer of the app will need to update it for compatibility.
Use Xcode 8.3.3 and set support of latest programming language. So, it will be compatible to work with Xcode 9 and iOS 11 both.
I came up with this situation when upload app to appstore.
The rejected resaon is
PLA 2.3
Your app or its metadata contains references to a pre-release version
of Apple software or hardware. Apps with compatibility references to a
pre-GM version of iOS SDK or pre-released Apple hardware are not in
compliance with the Apple Developer Program License Agreement.
Specifically, section 2.3 states:
"Apple may provide You with pre-release versions of the Apple Software
or related services that constitute Apple Confidential Information and
are subject to the confidentiality obligations of this Agreement."
I was using the xcode 9 beta before ,but I rebuild the project with xcode8 and submit it.
I am looking for helps to remove the ios11 related services,may be I will clean up all the builds and try to upload the latest version.
Hopefully,I wish the xcode9 GM coming soon...
I have an iOS application that I developed that runs fine newer iPhones and iPads.
I get this error on a 1st generation iPad running iOS 5.1.1:
"The item you've requested is not currently available in the U.S. store."
The app is distributed by the B2B store and was installed using a coupon code.
5.1.1 is the latest version that will run on a 1st generation iPad.
I double checked the app's settings in itunes connect and it is marked as available in the U.S. store; in fact, that is the only store it is available in.
Other similar apps that I have developed will run fine on the iPad, BUT those apps are built for the public Appstore. This is why I am pursuing B2B as the problem.
A user reported this problem to me, and I was able to reproduce it easily, so it is not limited to one device.
I cannot find any documentation that this should not work.
How can I get the real reason this is failing?
Is there documentation on minimum version of iOS that supports B2B distribution?
What else should I check?
This problem "magically" went away.
Here is the story of it going away:
I reported it to Apple and after several days they responded that they could not reproduce the problem.
I picked up the iPad 1 and tried to reproduce the problem myself. I could not reproduce the problem.
I suspect it was something with Apple's servers as I did not change anything on the iPad 1 as all I was doing with it was testing this bug.
I know that I was not nuts for reporting this problem as one of the users of my app reported it as well.
I was reading about custom B2B app distribution recently & found some links. Please have a look at "Submission and Distribution" They mentioned that
When the app is approved for sale, your customers purchase redemption codes from the VPP portal. It will not be available in the App Store app or iTunes.
May be thats why user is not able to see it in US app store. The WWDC 2012 session video "Building and Distributing Custom B2B Apps for IOS" is worth watching if you are interested in distributing a B2B app. You need Apple ID for watching this video
Also have a look at this link . This link mentions the steps for B2B app distribution.
I would like to distribute an App preview to a musician that I am working with. He is not an employee of my company but offered me to do the game sountrack for free.
I have checked on the iOS Provisioning Portal and found the following dislcaimer:
"Important: Your iOS Developer Program membership can be terminated if you provide pre-release Apple Software to anyone other than employees, contractors, and members of your organization who are registered as Apple Developers and have a demonstrable need to know or use Apple Software in order to develop and test applications on your behalf. Unauthorized distribution of Apple Confidential Information (including pre-release Apple Software) is prohibited and may subject you to both civil and criminal liability."
According to this I can only distribuite preview apps to test developer that I somehow employ. This excludes the case of friends working for free on non coding matters (e.g. musician).
Does anyone of you had a similar concern?
Thank you very much!
EDIT2:
I posted again this question on new post with additional details as Apple replied to me on this matter and did provide a different answer than the ones below. I have tried to add comments to those answers but this question doesn't seem to have any more visibility and need to solve this quickly, so thought that that was the way to go.. let me know if this is not correct. Thanks!
That's for pre-release Apple Software such as the beta a new version of iOS. You can send your own app to your friend so that he can test it, but you can't give him access to pre-release Apple Software and other confidential information.
Here is a guide that shows how you can send the app to beta testers, and here is a web application that makes the process easier.
Also Apple's Tools Workflow Guide says:
it’s always a good idea to perform wider testing with a representative sample of your app’s potential users. Such testing may reveal issues that surface only with particular usage patterns. An app tester is a potential user of your app who is not part of your development team but is willing to test it before it’s released through the App Store.) Adding app testers to your group of testers exposes your app to a variety of usage styles. You can collect and analyze crash reports (also known as crash logs) from these testers to resolve execution problems.
Nope, I think you misunderstood. You can distribute your own app as an Ad-Hoc to your friends whoever is a developer or not. However, there's a 100 devices limitation. And Apple is encourage you to do so before submit your app to App Store.
You cannot test your app the same way the users of your app will use it. They have different data and different usage patterns. Before publishing your app on the App Store, put it through real-world testing to find and solve as many problems as possible.
You can refer to THIS DOC to find out how to publish your App for user testing.