Restricting IOS app in app store to certain devices - ios

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/

Related

iOS: How to release an app for a limited number of users?

I'm quite new to iOS distribution so I'm here to ask for the right direction, in particular because my objective is not a common publication.
I'd like to distribute to a few hundreds of selected users for at least half year. What provisioning profile do I need to use, developer or enterprise? What about the provisioning's expiry date? There are differences between them, aren't they?
What distribution platform do we use for this purpose? Is TesFlight a suitable choice?
Enterprise distribution could work for you, but it is officially allowed only to be used in-house, e.g. on devices that are owned by the same company that joined the enterprise developer program.
You could also use the B2B program (available through the normal developer program)
Note: Type of certificate(provisioning profile) depends upon distribution of your app. If you don't want to release app outside your organization, then use
Enterprise provisioning else, use Production/Distribution provisioning (Standard Development),
so that your app can be made available for public use (outside your
organization)
Follow these steps to distribute your app through TestFlight
Step 1: Enter your test information
Enter test information about your app, such as a description and feedback email. You will need this if you plan to distribute your build to external testers (persons outside your organization).
Step 2: Upload your build
Upload your build using either Xcode or Application Loader. Read Cryptography and U.S. Export Compliance to determine if you need to provide export compliance documentation for your app. After builds are uploaded, they are available for testing for 90 days.
Step 3: Invite internal and external testers
Add internal testers (up to 25 iTunes Connect users in your organization) so they have access to the builds you distribute. Then invite external testers (up to 2000 persons outside your organization) who you want to test your app. You can create groups of testers and assign specific builds to groups. If you invite external testers, the build needs to be approved by Beta App Review before testing can begin.
Tip: To test the variants that the App Store builds before you release your app, invite internal testers only and download the variants using TestFlight.
Step 4: Testers download TestFlight and accept your invitations
Testers install the free TestFlight app on their devices. Then testers use TestFlight to redeem invitations, install your app, send feedback, and get updates. Testers download and install thinned variants of your app.
Step 5: View tester and build information
Track your tester engagement and your app’s performance by viewing build status and metrics in iTunes Connect—such as numbers of sessions and crashes. You can also resend invitations to testers who have not yet accepted their invitation.
Tip: You can also view crash reports directly in Xcode for apps distributed using TestFlight.
Step 6: Collect feedback from testers
Read the feedback from testers, that is sent to the email address you specified in Step 1, continually during the testing period. Also, make improvements to your app and continue distributing builds until all issues are resolved before you submit your app to the App Store.
Step 7: Stop testing
When you are done testing, you can optionally expire a build to stop testing it, and then go to Overview of publishing an app for the process of submitting your app to the App Store. If you don’t expire your build and submit it to the App Store, testers that have received an invite to test will still be able to test your build even after it goes live on the App Store. Your build will become unavailable in TestFlight after 90 days.
See: TestFlight beta testing overview
TestFlight beta testing lets you distribute beta builds of your app to testers and collect feedback. TestFlight beta testing is optional; you can submit your app for review without using it. However, it’s easy to do, free, and a valuable way to improve your app before releasing it on the App Store. You can enable TestFlight beta testing for up to 100 apps at one time in your iTunes Connect account.
Here are some guidelines & tutorial that helps your better:
TestFlight Tutorial: iOS Beta Testing
TestFlight - Apple Developer Forums

Submitting to the app store while in prototype stages

Is it possible to submit a prototype app to the app store while still developing the finished product?
According to the App Store Review Guidelines: no.
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.
But if you call it a finished product and if it's as good as a finished product then yes. If you're marketing as a prototype, then refer to Apple's message above.
Yes.You can submit your app to app store. But, you want to make sure that you want to publish your App to Normal user or Not. IF you want to distribute for External tester then no need to send application for Approval. You can upload .ipa file and distribute to External Testers.

Ad-Hoc distribution for iOS app

I am trying to release an invite-only iOS App. I don't particularly want this app on the App Store, and using TestFlight causes a lot of problems (having to constantly update binaries, limited users... Apple IDs).
At the same time I'd rather not have to resort to a third party distribution to get this kind of an alert.
Is it possible to release a secret invite-only App on the App Store?
Consider enrolling for an Apple Developer Enterprise Program
This will cost more but then you can distribute using your server . You can use MDM also no need to upload or use test flight.
I am not sure the last time you used Test Flight, but it has changed a lot in the last year. There can still be headaches with it, but since it was bought by Apple you now distribute your App through iTunes Connect which is the same way you would do it for releasing in the App store. You have a number of beta testers (up to 1000) that all you need is their email address. You can also have internal testers (up to 25 I think) which will get every build you upload automatically (however they do have some access to the information about your app through their iTunes accounts).
So in summary it takes the same amount of work and the same process to have beta testers that it does to release it through the App Store except that you don't have to wait the 5+ days for the App review. Do note that the beta version will expire after 30 days at which point you just need to upload a new one.
You cannot release a secret App on the App Store, as it violated Apple's App Store Review Guidelines
2.22 Apps that arbitrarily restrict which users may use the App, such as by location or carrier, may be rejected

iOS Enterprise Development - TestFlight

I just received an email this morning that testflightapp.com will no longer be active as of 2/26/2015, and that I should be using the iTunes Connect TestFlight service instead. This is fine and dandy for app store apps, but most of my projects are enterprise apps, and that is not supported in iTunes Connect. On top of that, iTunes Connect TestFlight requires iOS 8, and a good chunk of Enterprise users are still on iOS 7.
Does anyone have a solution outside of TestFlight for deploying Enterprise iOS apps to a set of registered users? I am hoping there is an easier solution than setting up my own MDM, but at this point I think that may be the only option.
Tesflight is not available for iOS Enterprise development. See "If you’re distributing your app outside the store, you follow a slightly different process. You don’t have access to iTunes Connect and some app services so can skip those steps." at https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
Also see Apple discussion at https://forums.developer.apple.com/thread/9229 where it says "Enterprise apps can be tested internally using Ad-hoc distribution" if one wants to only have the app available to registered test devices.
From Apple's beta testing site:
Internal Testers
Get feedback quickly by sharing your beta builds with up to 25 members of your team who have been assigned the Technical or Admin role in iTunes Connect. Each member can test on up to 10 devices.
External Testers
Once you’re ready, you can invite up to 1,000 users who are not part of your development organization to beta test an app that you intend for public release on the App Store. Apps made available to external testers require a Beta App Review and must comply with the full App Store Review Guidelines before testing can begin. A review is required for new versions of your app that contain significant changes. Up to 10 apps can be tested at a time, internally or externally.
Only external testers are subject to the app store review and guidelines.
TestFlight Beta Testing
You can use the "download over the air" functionality that TestFlight uses. Apps like BetaBuilder (http://www.hanchorllc.com/betabuilder-for-ios/) will generate the HTML and manifest file for you, you just then need to upload it to some web space of your choosing and then provide a URL to your clients. There is a requirement of the app being hosted on HTTPS now.
I'm in the same situation as you. Multiple apps that need to be distributed with the enterprise cert so that QA and the like can access them.
Guess might have to update/check hockeyapp to see if it works fine with IPA's. We use that for our Android apps and it works well, so, ...
TestFlight was very convenient. OTA isn't hard, but access (i.e. internet access vs. intranet access) is what we need and getting another service ok'ed might be a fun thing.
It will be interesting to see the different answers here.

Can I upload my app on itunes connect for testing?

I don't want to release my app just yet, what I want is..I want to test its:
rate my app function..
like function..
database execution
and etc
if coming from an appstore download..is that possible?
and how do I do that?
You can't do that using the App Store.
What you can do is use a third-party service such as HockeyApp or TestFlight to distribute your app to your beta testers. Note that Apple recently acquired TestFlight's parent company, so I'm not sure if TestFlight are accepting new users at the moment.

Resources