Distribuiting iOS app preview to non developer (e.g. musician, illustrator) - ios

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.

Related

How do I distribute an in-house app in iOS

I am researching to find the different ways an in-house app can be distributed with Apple. Just to be clear what we need is to distribute a private app that can only be used by the members of our organization.
I know the App Store rejects this kind of apps, so my question is, what is the official way that Apple gives us to do this?
I've been searching and I've found the Apple business manager, but reading the documentation I don't know if it is what I'm looking for. Has somebody used it before? How does it work? Does it need an external MDM to work or apple gives us one?
Note: I know this has been asked before, I've gone through all the questions and I've posted this one because the others are outdated.
So after some more deeper research I have found that the Custom Apps are the best solution.
To clarify for those as confused as me, there are two methods: in House and Custom Apps.
In House is described by Apple as "no longer the standard" but still working. It apparently needs an MDM to work, also an Apple Enterprise developer Program membership. The apps expire every year so you have to keep an eye on it.
Custom App (the new way of doing it). It doesn't need an MDM to work (but can be used with it), the other option is to provide redemption codes that an user can use to download the app in the App Store (or with a direct link also provided by Apple). You won't need an Apple Enterprise developer Program membership but a normal Apple Developer Program membership (an the organization will have to be registered in the Apple Business Manager).
Here you have a step by step guide to do the complete process.

Distribution over-the-air without providing UDID

A couple of days ago I was asked whether it is possible to record a conversation using an iPhone. Having heard of Apple’s disapproval of that given function, I have confirmed it was not possible. However, out of curiosity, I have googled the info on this issue. Surprisingly, it led me to a website offering a variety of dubious shady activities (wiretapping related).
I will leave all the details behind, just to tell you in a few words that out of desire to understand how it was even possible, using that site I easily managed to install an unauthorized third-party application onto my iPhone with iOS 8.0 bypassing the legal distribution channels and without me providing them the UDID of my phone so they could add it to their distribute certificate (eventually substituting the original messenger app (WhatsApp, Skype, etc.) with their almost identical clone that is collecting and submitting personal info).
As far as i understood the clean/not jailbreaked iOS has no distribution channels other than AppStore, Ad Hoc or Enterprise channels (with providing UDID in the latter two).
I don’t know if this is a system flaw or vulnerability, but this is supposed to not be possible. Maybe, though, my logic is missing something. That is why I am trying to address this issue here.
The aim of this post is to bring up your expertise and to find out collectively the mechanics of these activities to ultimately prompt Apple to eliminate the related shortcomings.
Again, I have the details and can provide them in case needed, but for the sake of not being deleted or, God forbid, banned I am keeping those to myself for the moment.
Thank you.
One can buy an enterprise account for 299$ per year to build in-house Apps, which can be distributed without knowing or adding any UDID.
These Apps should normally only be distributed to employees, but this restriction is often ignored and Apple bans those accounts then.

Release an iOS app but not through itunes

I was asked to do a recruitment app that will recruit people for the company, so of course it will be free. When I released it, it got rejected for being very basic.
Now the client want to just release it through their site if apple don't want to accept it.
I know how to create the .ipa file through adhoc disribution which is what I use to give them copy and test it by putting it on a test site so that they can download it on their iphones.
But this is only for testing purposes, only the phones registered as devices on the dev account can download the file successfully.
So is it possible to release an app that will be used by users successfully without submitting it to apple?
With an Enterprise account you can more or less host your own private app store for an unlimited amount of devices and distribute in-house without Apple.
With a Developer account you can run ad-hoc installs via TestFlight or comparable services for up to 100 devices.
The new iTunes TestFlight integration announed at WWDC14 allows for 1000 devices.
The only solution that will look truly professional is the Enterprise App Store and it requires you to have a DUNS and an approval from Apple, but generally with a DUNS you're set. It's $299 instead of $99, but that's not so much money for most companies that have a DUNS. Also you can't use that account for publishing apps to the public App Store.
In general, yes it is possible: you can release an enterprise app outside the app store, provided that your company has the requisite enterprise agreement.
However, this is intended for internal use, and while I haven't read the agreement myself, I believe that distribution to the public at large would likely be in breach. (EDIT: As Zaph points out, this is in fact explicitly disallowed.)
The situation you're describing would fall outside this.
Moreover, from a user experience standpoint, it's unreasonable to expect prospective employees to download an application from outside the app store.
This is not only technically difficult for a lot of people, but it would look incredibly unprofessional, which is the opposite of what you're after in a recruitment app.
No. Apple restricts the apps available to users only to those on App Store.
(Actually, not 100% true - you could release the app on Cydia and target only jailbroken phones, but I suspect this is not what you mean to do.)
Alternately, make a web application, using JavaScript/HTML/CSS. Anyone can use a web application, it can be installed on the launcher screen, and it does not require App Store, just a web server somewhere. If you need persistence, you might also want to look into manifest files and offline apps. Especially if your app is basic, you can make it look and feel almost as a native app using one of the very nice web frameworks such as jQuery Touch.
However, you might just leave it as a webpage - why would you restrict your recruitment pool only to people willing to install your app?
tl;dr: You can't release an ObjC app except on AppStore.
There are already multiple answers to this question, probably because it is not specific enough.
Let's gather all the information that's necessary here:
If you want an app for a company (given that you recruited people through the app, i.e. people who used the app would join the company), you should use the Enterprise Program.
If the app is meant for the general public (in this case, possibly, you would like the app as a branding, promoting app for the company), you cannot use the Enterprise account, since it violates Apple's terms. As an example, see this funny case: http://www.imore.com/how-gameboy-emulator-finding-its-way-non-jailbroken-devices
AdHoc and TestFlight should not be used for a release app. AdHoc only is meant to be used for testing purposes. Introducing non-developer related devices into your AdHoc profile would mean termination of your dev account (e.g. this aggressive and also funny case: http://www.intomobile.com/2012/07/09/apple-goes-after-sites-selling-activations-ios-6-beta/).
Finally, two interesting notes:
There is no limit to the number of devices in an Enterprise Program app. It's not 1K, at least the information out there says the opposite (e.g. the case with the link in 1). The 1k device limit will be for beta testers with TestFlight (according to http://www.neglectedpotential.com/2014/06/testflight/).
An Enterprise account cannot publish apps to the public on the AppStore (see this FAQ: https://developer.apple.com/support/ios/enterprise.html -if it doesn't work, you can load the cached version from Google, etc.). Thanks to Departamento B for this information I didn't know about.

Any issues with distributing an iOS app thru both an Enterprise and the App Store?

I've built an application that my company owns the code to.
One company wants a slightly modified version of this app (branding mostly) to distribute internally (using https://developer.apple.com/programs/ios/enterprise/).
I'm also going to sell it thru the ordinary App Store.
Would I run into any issues here? I can't find any information regarding that this somehow wouldn't be allowed, but I don't want to shoot myself in the foot here either...
Any insight out there?
Thanks!
/J
Simple answer NO.
As far as Apple would see it - they would be two completely different applications. Each one would have a different App ID and a different provisioning profile.
You will however have to purchase an Apple Enterprise Developer license if you want to distribute through the Enterprise program.
Here is a link to some commonly asked questions about the Enterprise Program
If you have anymore questions just ask.
There's no conflict here. The only thing is that you'll need different provisioning profiles for each build and you'll need an enterprise developer account to create the enterprise build. Other than that, there aren't any issues.

Is it possible to distribute an unfinished iOS app for closed-beta tests using Apple Store? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
We'd like to do some closed-beta tests of our app using App Store.
We know about the ad-hoc way, but it needs testers' UDIDs to be gathered upfront and embedded in the provisioning profile, which isn't ideal, because we'd like to avoid asking 100 testers for their UDIDs.
Another way is to use the Enterprise Distribution which doesn't need gathering and storing UDIDs, but let's talk about another possibility...
The user needs to login when the app starts. User accounts can't be created from the app, so we're thinking about creating some beta-tester accounts on the server, submitting the beta-version of the app to Apple Store and sending the credentials to the beta-testers via email.
The only question is whether it's a recommended practice to submit an unfinished app to Apple Store. After submission all iOS users will be able to download the app, but only the beta-testers will be able to login. It has also an additional advantage, which is knowing Apple's feedback earlier, so any issues can be addressed earlier too. Do you think Apple will approve an unfinished app?
Also, is it possible to disable application reviews for an application submitted to Apple Store? We don't want to get bad reviews from users during beta-tests...
Thanks,
Michal
It is possible now to use TestFlight Beta Testing, with a current limit of 1,000 invites and without the need of asking and registering UDIDs.
Simple answer. No.
Detailed answer. No, Apple requires that applications in the app store be final products. You can attempt to slip it through so long as you don't call it a beta or make any reference to it not being completed. In doing this method you are skirting Apple's rules which could result in having your developer license revoked.
More information can be found HERE--> https://developer.apple.com/app-store/review/guidelines/ <--HERE
Edit to add: No you can't disable reviews in tha app store.
Beta test apps are explicitly prohibited by Apple's App store guidelines.
However if you don't explicitly label or advertise an app as Beta test, and the app appears fully functional and otherwise acceptable, then Apple might approve the submission.
It is actually quite common for developers to submit unfinished apps and put them in the App store (see the "minimum viable product" style of development). However the unfinished features have to not be apparent and not mentioned anywhere in the apps description or documentation, so that the app appears to be fully functional to the reviewers (e.g. if some feature is missing, then hide the button and documentation for it so that no one knows that something is missing). I've got an app in the App store that only has 5 or so of the many dozens of features on my original design spec. No one knows (until now :)
There is no way to limit app downloads to only specific testers (other than using Ad Hoc, Enterprise or B2B accounts) for closed testing, and there is no way to prevent bad reviews and ratings. You can limit app availability by country and by day, and submit no search keywords to limit exposure. You could try pricing your app too high and gifting the app to your testers if you are willing to give Apple 30% of the high price per copy.
I am 99% certain that Apple wouldn't allow that, mainly because you are stopping the majority of people from using the app. Also because you're submitting an unfinished app.
If I understand the Apple Developer guidelines correctly, you cannot distribute your beta app to any external entities (public customers, friends etc) other than using TestFlight's external testing suite. A lot of folks (and your question mentioned it) talk about AdHoc as a way around this. If you look at the Apple Developer website and try to add a device to your dev account, they pretty clearly give a warning (see image from SO question here) that states that Ad Hoc devices are only to be used for internal organizational use, or if you are a legal agent (i.e. consulting firm hired to create an app for a company) of that organization. Based on this I don't think AdHoc gets you off the hook from using TestFlight for external beta testing.

Resources