How does apple decide whether an app is in-house? - ios

How does apple decide whether an app is in-house? Is there a setting that I need to look into? Apple has rejected my application saying it is an in-house app and I cannot publish that app under Apple Developer Program.
They want me to have Apple Developer Enterprise Program to publish that app. I'll be thankful for any help.
EDIT: Here is the message from Apple
We found that your app is an in-house app, intended for employees or members of your organization. As such, it is not appropriate for the App Store.
For information on distributing proprietary, in-house apps, please refer to the iOS Developer Enterprise Program.
If you cannot - or choose not to - revise your app to be in compliance with the App Store Review Guidelines, you may wish to build an HTML5 web app instead. You can distribute web apps directly on your web site; the App Store does not accept or distribute web apps.
HTML5 is the major new version of HTML and enables audio and video to play natively in the browser without requiring proprietary plug-ins. Using HTML5, web apps can look and behave like native iPhone and iPad apps, and using HTML5's Offline Application Cache, a web app can work even when the device is offline. With web apps, you have flexibility to deliver as much or as little functionality as you desire.
To get started with iPhone or iPad web apps, please review the Safari Client-Side Storage and Offline Applications Programming Guide.
For a description of the HTML elements and attributes you can use in Safari on iPhone, check out Safari HTML Reference: Introduction.

I guess there can be many ways by which Apple can think of in-house apps and one of these can be your App Description. Here is the response from Apple that I received.
Hello,
Thank you for your response. The Application Description confirms that
the app will be used by employees of your company to stay connected
and informed of daily tasks and company information. If the app will
have an open registration and not limited to the internal use of your
company, please take the time to modify the Application Description by
providing this clarity and also accurately describe the app's features
and functionality available to all users.
Otherwise, the app is not appropriate for the App Store, and it would
be best to be distributed via the iOS Developer Enterprise Program.
As #Paulw11 said, Apple can even decide that your app is in-house if it doesn't allow everyone to use and limited to a group of people.

As far as i can understand, you are trying to publish your app from your Apple Developer Account which has "Developer Program of 99$" activated.
But to publish in house application, you would require an iOS Developer Enterprise Program which costs 299 $ yearly.
You have to enrol yourself to that and then publish the app via, your Enterprise program
Please respond accordingly if your intend was NOT to release your app as in-house application, will edit the answer accordingly

Related

private application for a private business in apple store

I'm developing an app for my company, using firebase where I store some important business data.
My question is, can I publish the app on the App Store for free and create a login page where only the employees with specific account create from me can enter?
will apple accept an app like this?
otherwise how can I publish the app only for the company iPad?
my company have around 50 employees, I read about this Enterprise Development program but apparently require more than 100 employees.
thanks in advance for the help, sorry not I don't have much experience with app for private business.
An app with a limited audience like this won't be accepted for the App Store.
Your company will need to set up an Apple Business Manager account (which is free).
You can then make the app available only to their Apple Business Manager ID in App Store connect. The app will still go through review but it won't be visible on the public App Store.
There is a WWDC 2020 session on this subject.
There is now (since a while back) another alternative to this problem: Unlisted app distribution
https://developer.apple.com/support/unlisted-app-distribution/
It makes it possible to publish your app on the App Store, but the only way to find the app is by a direct link.
And an important difference of this to Apple Business Manager is that you can distribute the app to both managed and unmanaged devices which makes it possible to let users buy there own devices.
I think that Unlisted app distribution is pretty new but will become more and more common when Apple now (2022) do not let companies with less than 100 employees renew their Apple Enterprise Developer Programs and force those companies to other distribution models.
unfortunately there is no other way than to subscribe to the Enterprise Program, since it's easier to distribute the App to all the Devices via a URL/Profile. Otherwise you have to manually take all the Devices and export the App via Xcode on the Device (launching the App). Afaik there is minimum requirement of employees. greets

iOS - Can iOS app be deployed for internal company user only

Is it possible to deploy an APP to apple app store, but only allow internal company user to download the APP by their own? Thanks.
Yes it is possible with Apple Enterprise Developer Program.
The Apple Developer Enterprise Program allows large organizations to develop and deploy proprietary, internal-use apps to their employees. This program is for specific use cases that require private distribution directly to employees using secure internal systems or through a Mobile Device Management solution.
Just to augment what others have said there. The Enterprise program is what you want. It allows you to distribute your app to as many devices as you like. But as it's not going through the Apple app store, you will have to work out how you want to do it. There are third party servers out there for doing this sort of thing.
You can also simply "roll your own" by simply creating a web page on your LAN with a like to the downloadable app. The Apple documentation has the details on doing that.
Also note one difference between an Enterprise app and a app store app, is that the Enterprise app certificates will need to be renewed every year. Which means that you will need to update the app every year or it will stop working.

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.

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.

iPad App Distribution

I am developing a native iPad app that connects to our servers and returns specific information. This app is targeting external companies. The overall app has a client and a server. The client is the iPad app and the server component is what will be installed.
We do have licensing framework in place on the server component.
I understand that there are 3 different forms of app deployment. I am looking for ideas for implementing a strategy where an app can be distributed via appStore BUT will work ONLY for a certain specified users.
So for example , If Charlie from Company A has the server component installed on his server AND downloads the iPad app on his iPad, this should work. However, if Marie downloads an this app from appstore, it should not do anything. Any ideas / options / suggestions would be appreciated.
Sounds like you are interested in B2B distribution via the AppStore. Check out this page for more information.
Once you land on that page you can find the B2B section that states
Custom B2B apps are built just for you by third-party developers and business partners to address a specific business process, integrate with a unique back-office environment, or deliver a custom interface for your users. Using the Volume Purchase Program, you can securely and privately purchase custom B2B apps for iPhone and iPad that make your business even more effective.
If you are a developer who is enrolled in the iOS Developer program you can create custom B2B apps for sale to your customers enrolled in the Volume Purchase Program.
Learn more about developing custom B2B apps (requires developer login)
Depending on the route you take you may need to create individual build targets for each customer with that is setup to point to the URL of their installed server.
Otherwise you could have a generic app that hits a centralized login server, based on the user credentials it forwards the app to the appropriate server.
Have an account system for the servers.

Resources