Create a Certificate for Development for iOS - ios

I use NativeScript for develop on windows planform.
When I try get "Certificate for Development" by guide, I get this message:
So, I go to "Apple Developer Program" and dont see, how I can create "Certificates".
I want to get a certificate in order to connect the Iphone to my computer using a "sidekisk". Is it possible to get a free certificate for this? As described in the guide.

You must enrol for one of the paid yearly subscription Apple offers (Individual / Company / Enterprise) by producing necessary documents. Once you do, you will be given access to portal where you can create apps, certificates etc., and even publish them as long as your subscription is active.
If you just want to run the app on your own device (with limited features), you can do that for free but only if you are on a Mac with Xcode, it's all limitations from Apple itself.

Related

Host my .ipa app file on private server and download without developer license

I have an iOS app that I've made using a free provisioning profile, in order to give the app to people though, I have to plug their phone in to my computer and install it with Xcode. I was wondering if there was a way to let people download the app from my server without paying for a license.
No, the only way to do this (install on another person's device without having their device set up explicitly in a developer profile) is to use an enterprise development account. This type of account (which costs even more than the $99 standard developer account) allows you to create an enterprise distribution profile that allows for distribution on devices that have not be set up in advance. However, the enterprise account is even more money and you must have an EIN (like a SSN for companies).
So to answer your question, no there is no way to do this.

Using multiple Apple Developer accounts on one MacOS account?

Suppose a developer needs to use several Apple Developer program identities (contracts), say ADP1 and ADP2.
Dev1 signed by developer himself, Dev2 by a third party.
May the developer set up a single Mac OS account to use/manage both accounts for development with Xcode? Import certificates for ADP1 and ADP2. Validate or submit apps for each account?
Or will Xcode get confused? Or would it be wise to setup a single Mac OS account for ADP1 and ADP2?
You can subscribe personally to only one Apple Developer Program of each type (iOS, MAC, Safari). However, you can be part of many Apple Developer Program. That means that people can add you to their dev team in their own Apple Developer Program. I don't thinks there is a limit.
Xcode won't get confused : it will ask you for the team you want to use for every project.

iOS App deployment without AppStore

I'm developping an App in my company. We want to distribute this App to our customers but without using the AppStore from Apple, is it possible?
I heard about MDM (mobile device manager) but I'm not really sure if it will cover this need?
I heard also about Enterprise developer license for in house deployment but if I'm understanding correctly it means the App can be deployed only inside my company and not to our customers, is it correct?
Thanks for your clarifications.
Seb
If you are trying to get apps to customers without the App Store, you have options, but none of them are awesome.
There are many choices for over the air distribution of the binary, that really isn't the complicated part. You've got MDM solutions, HockeyKit, TestFlight, Manual server manipulation - all are fairly easy and well documented.
Where things get nasty is in the signing. If you definitely do not want to participate in the App Store environment (no app store, no Volume Purchase Program), you only have two real options:
Ad Hoc - Limited to 100 Devices. Devices must be explicitly added to a provision.
Enterprise - No device limit, devices do not need to explicitly added to provisions. In effect, these builds will run on any device; the caveat, you are not legally allowed to distribute these builds to anyone outside your company.
If you intend on developing an application for some other company and their employees, then your only viable option is to sign the final build with a signing certificate attached to said company's development account. The enterprise signing route is a really great approach, if you can get the company to sign all the paperwork to get their own developer account, owned by them.
For stock iOS devices, you really have only 4 choices:
1) Ad Hoc distribution to up to 100 total max devices per iOS Developer enrollment (including wireless Ad Hoc via manifest file & SSL.)
2) Enterprise distribution for distribution to employees of corporations with a D&B rating.
3) Apple's iTunes App store if your app is approved by Apple. (This includes the B2B program and account/password protected apps.) (This now also includes up to 1000 people using Apple's new Testflight service.)
4) Unlimited distribution to other people who have their own individual, company or enterprise iOS/Apple Developer enrollments. The distribution can be either as an Xcode project with source code or a pre-compiled library, or as an ipa or archive file that the customer can (re)codesign with their own Developer certificates. For applications priced at well over $99 per customer, the cost of this annual developer program enrollment might only be a slight additional cost to the customer (and given appropriate legal authorizations, might even be handled as an annual paid service.)
4 b.) ADDED UPDATE: As of Apple's release of Xcode 7 (in late 2015), anyone with just a free Apple ID can use Xcode 7 on their Mac to install apps from build-able Xcode projects directly to their own tethered iOS devices this way, with no need to pay $99 to Apple to enroll. See this answer.
This essentially allows unlimited distribution to anyone with physical access to a current Mac and who knows how to run Xcode.
Options (1), (2) and (4) do not require going through App store approval. There are no other options for distributing apps to stock OS iOS devices.
You could take a look at https://testflightapp.com/.
We use that a lot for customers that only need a app for testing doing the development phase and for apps that are used for conventions (limited time, limited number of units).
Testflight is very easy to use for both developers and end-users, but it is not very well suited for apps that are going to be used on a large numbers of devices, since all devices that are installed to needs to be in your provisioning profile which has a limited number of slots.
EDIT
The testfligt approch is no longer valid. You can now use the TestFlight integrated into itunesconnect. Alternatively you could integrate crashlytics.com, at use their distribution system. It works pretty weill

iOS App Beta Distribution (large scale)

I am developing an iOS app of which my clients would like roughly 50 people to beta test. However, I don't want to have to keep adding UDIDs to my developer portal account and to generate a new provisioning profile each time. Is there a way in which I can distribute the beta without having to go through the aforementioned painful process of adding a new user? I'm thinking something automatic!
Look forward to hearing your responses!
Using a standard individual Developer enrollment, testing any app on stock OS iOS devices requires generating profiles with each device's UDID. No exceptions.
So you have to keep adding UDIDs to your developer portal (or let testflight gather them for you), or tell the client no more. (I would consider charging the client a sufficiently large additional amount for each extra device to be added after the initial batch, that you will become happy to do so, instead of it being a "painful" task.)
The Enterprise program can only be used for employees of the enrolled developer, not clients or customers. If your client has a D&B rating, then they might be able to enroll themselves in this program to allow distribution to their employees without gathering UDIDs.
The developer portal has an option in which you upload a list of your user's UDIDs (look in the device tab and click "Upload file"). Just prepare your beta user's UDIDs and upload once, then you can just generate an ad hoc profile once and wirelessly distribute this.
Note the file format should be (tab delimited):
device_id_hex_40_chars description_text
... ...
The first line of the file is ignored, so you can add a header.
If you're willing to pay the $299, then you can join the iOS Enterprise Developer program and distribute applications using iOS Enterprise distribution. This lets you distribute to an unlimited number of users.
https://developer.apple.com/programs/ios/enterprise/
Otherwise I'd suggest Testflight.

Deploying an iOS Application Using Apple Enterprise Developer Program

I have created an application for a company that I need to deploy. The application is for internal use only so it will not be available on the App Store. Do I need a UDID for each individual on whose device the app will be installed? That would be impossible since there are 500 employees. Does anyone have a good documentation or experience on deploying the iOS iPhone application using the Enterprise Developer Program only.
With the Apple ENTERPRISE Developer Program you can NOT distribute an App in the Apple AppStore.
Its purpose is to collaborate an In-House App in your own company.
The Enterprise account does not necessarily need the UDID of your target devices. You can for instance also use a link which remotely installs the app directly on the device.
You can find more details here: https://developer.apple.com/programs/enterprise/
If you are trying to deploy applications to customers/users on a production/long term basis, you can deploy an applications outside the apple store in three ways:
manually via iTunes
directly via iTunes Configuration utility
via weblink (sent via mms, email, webbrowser etc.)
In order to distribute an application this way, the application must have a special corporate signature, and each device must have a matching corporate signature installed manually.
The best overall explanation for the process is available at this link.
If you're just testing on a handful of test devices, then you I would suggest two approaches:
a dev release to a test device follow step by step instructions here.
Or you can use a helper application to deploy a beta release: testflightapp.
You can do distribute your iOS app to only a particular set of people (in your case, your company employee), by following these procedure
Get a apple enterprise developer account
Create a distribution certificate and provisioning profile
(In-House) using your enterprise developer account
Archive the ipa file using the created certificate and
provisioning profile
While saving the ipa, click on the check mark. So, the plist file
is also created.
Host the plist and ipa file in your server
Include a download html file with a href tag with src
"itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist"
Now when you click on the link from your device the app will get downloaded.
I don't agree with the previous answer. Check this document page 26.
MDM servers can deploy both App Store apps and in-house enterprise
apps to devices over the air. Both paid and free App Store apps can
be managed by an MDM server using Volume Purchase Program (VPP)
managed distribution.
Once you have VPP and Enterprise Developer account you could be able to install apps in the app store or company owned apps into the managed devices.
Further for just deploying the in-house app you could follow this 9 step process.
If you need to deploy to many devices i suggest AirWatch. I've used it many times, it can be a bit frustrating to set up but once you have it working its very nice to have.
Testflight still requires udid and the limit is 100 for 1 year before you can reset. Enterprise deployment is best method for in house apps.

Resources