Package iOS applications - ios

I am little confused about the packaging process for iOS application. One of my client already have a private distribution channel and want us to supply just the packaged file. Now what all do we need from client.... just Application Name, Application ID and certificates in P12 format?
Also how can we test the application on a real device, do we need to have developer license, if yes then can I reuse developer license to develop another application...
Sorry if it is a lame question... I am pretty new to iOS application packaging.

Testing the application on a device is easy if you have XCode version 7 or more.
Simply plug the device via usb and run the app using the play button in XCode
You don't need to have a developer license or a paid developer account for testing. This can be done via your Apple ID also

Related

How with delphi can I publish an iOS app to the account of someone else?

I build some iOS app for other people. With android it's quite simple, I gave the .aab to the guy and they add themself this .aab in the play store. However, I think, I can't do the same for iOS or I m mistaken?
Is there a way to compile the app on my computer and gave my client a binary so he can publish it under his account? I m under Delphi if it's matter.
What worry me a lot is that I need to compile a dozen of a white-labeled app every time I Update the main core app and I want to automatize the process. How can I do this ?
An iOS app is compiled to an .ipa file, which can be deployed to a device or uploaded to the App Store.
However, iOS apps have many requirements beyond just deploying the binary.
Each customer will have to obtain a Developer Certificate that identifies them with the app(s) you develop on their behalf. They will have to provide those certificates to you.
In order for each customer to then install/upload your app binary(s) on their own accord, they will have to register App IDs with Apple, and give you those IDs so you can configure it into your projects as needed.
Each customer will also have to provision those IDs according to how they will be installed (Ad-Hoc vs App Store), and give you the provisioning profiles so you can configure them into your projects as well.
This is all covered in Embarcadero's documentation:
iOS Mobile Application Development
Acquiring an iOS Developer Certificate
Provisioning an iOS Application
Creating an App ID for Your Application
Creating and Installing Your Provisioning Profiles
Configuring Your Provisioning Profiles on RAD Studio
Deploying Your Final iOS Application
Deploying Your iOS Application for Ad-hoc Distribution
Deploying Your iOS Application for Submission to the App Store

Distribute iOS App executable ( iPA ) to a set of users over email to install

I recently finished an application in Unity for a client who runs a sporting event and wanted the app to let the referees keep a more accurate log of the statistics of each game. When building for android, i get a single file that i can send to my device and install it/run it. The part that i have some questions is re-building that same project for IOS.
I know i MUST have xcode which means i MUST have a mac OS, but here are a few questions that i am unaware of.
1) With the most recent release of xcode, developers dont need the $99 apple developers kit to produce something and test it on their device. From what i learned, is it true that you need to verify each device you send the application to in order to test it?
2) Is there a way to compile the IOS application in a way that i can get a single file, or even a folder, and send it via email to my client, at which point they can download the file to their phone and have the application installed?
3) What is the easiest route i can take in order to get my application into ~30 peoples iphones without individually signing each phone to my application?
Thankyou for your help!
You will have to remove this question as what i understand this is a programming site, Please find the answer for reference below as per your question order.
with xCode 7.0 you can do this, we dont need any licenses and its free for any number of devices to test , refer :- link
Yes you can generate a executable which is termed as iPA , but if you want anyone else to install the iPA, either you will have to generate this using a enterprise profile, or you wil have to add you client device id while generating the profile on apple developer protal :- refer :- link
post which they can install the iPA using itunes
This is not possible as per my knowledge, as Apple has strict poilicies as you cant distribute witout their knowledge. that is the reason of having the apple developer account at first place.
Hope the following helps:
1) For testing on your local device XCode should set up proper provisioning files for the development builds of your app automatically once you purchase a developer license.
2) I build Enterprise Ad Hoc applications for a large publicly traded client and I'm able to send the compiled .IPA file to the client and have him test it by installing it via iTunes after I've signed it with a production certificate through XCode. He tests the app using that method before using a third party vendor to distribute the app on their corporately owned iPhones. The same should work if you sign your application with a production cert, although the aforementioned may be limited to the enterprise account's certificate.
3) If you're trying to remotely install a development version of the app on a test phone you will need to verify the phone via UDID in the Apple Developer center for AdHoc distribution, or use the TestFlight method. You can read more about how to do both of these methods here.
Hope this answer will help you out & good luck!
I think for that what you want you need a Paid Apple Developer because it is not possible (without Jailbreak) to install Apps which are not from the AppStore in iOS. So you have to "test" the App on each iPhone you want the App to run on, or you have to publish it to the AppStore, where you can set, that only specific Apple-IDs may download your app.
Thanks luca4499 and Max. I guess the $99 apple dev kit is the way i'm going to have to go then.
To clarify to other users interested in the same questions.
You can develop for multiple people without using the dev kit as long as your list of people isnt changing often, or you are ok with adding each device separately.
If you want to distribute your application, the easiest way is to get the apple dev kit.

How do I (the designer) test and use an iPhone in development if I don't have access to computer in which the code is being written?

Hi I'm intending to have an iPhone app developed by a coder from the US. I live in the UK. When the app is being developed, is there a way that I can preview and use the app as its being developed, so that I see if all the designs and functionality are correct?
Basically the app equivalent of seeing the developer URL of a website being developed.
-Thanks
You will need to give the developer the UDID of your device. You can find it via iTunes.
The developer will add your UDID to his developer profile. Then he can create install files (the file extension is .ipa) that your device can use. He sends you the IPA file and you use iTunes to install it.
Another approach is to use TestFlight. You can register your device with this site and with your developer's account on the site. Then the developer can get your UDID from the web site and upload the .ipa file to the site. Once he's done that, you can install the app directly from the web site without downloading it to a Mac or PC first. Note that this is still reasonably secure because the app is encrypted and can only be run on the devices that are included in the developer's profile.

Is it possible to install iOS apps without iTunes or the App Store?

I programmed an app for a company and would like to install the app on their iPads without having to submit the app to the App Store since its a commercial app for just this company. Is this possible without connecting each iPad to my MacBook and putting a developer certificate on it.
Is there another way? What about using an URL-link or QR-Code (linking to this url)?
Thanks in advance
Your question is about installing apps without iTunes and the Apple App Store. This is entirely possible and supported by Apple but you are still bound by your developer account's ability to only build signed binaries for 100 devices for testing purposes only.
You can distribute your apps over the air via services like hockeyapp.net and testflightapp.com (free) but these services are just hooking into the iOS system's ability to install signed binaries over the air which has been possible since iOS4. There are several open source projects that provide the bare bones HTML and Javascript/meta tags to install signed binaries over the net - one such one is iOS Beta Builder
If you are creating Enterprise apps for clients (that will exist in production, not just a development environment) then your only legitimate way to provide your clients with apps that won't expire is to use Enterprise Developer Account. The enterprise account has no device limits but the apps you sign with enterprise certs phone home to Apple each time they're launched and are strictly only allowed to be used for a single company and their current employees.
It is because of Apple takes 30% of all the payments, isn't it?
The only way I see is to create usual web-site which runs via browser without installing

How does TestFlight do it?

TestFlight offers over-the-air beta distribution of iOS apps (on non-jailbroken devices). How can this be done? Is this an iOS feature, or a vulnerability exploit?
This article showed how Apples OTA implementation works and can be used outside enterprises as well: ios wireless app distribution
The complete process is documented by Apple.
Apple also published documentation and sample code for registering devices and get the UDID by using profiles, so your website can detect which device is calling.
Some additional solutions with different strenghts:
iOS Beta Builder, a Mac Application to create the website by using a build. Simply upload the resulting files to your webserver.
Diawi: Simple Web service. Upload your IPA file, optionally set a password and send a link to your testers.
AppSendr: Web service for beta build hosting, similar to Testflight, but does not include the device registration process. But provides deployment utilities to automatically upload new versions.
HockeyKit: Open source project for hosting beta versions on your own PHP5 server with additional functionalities like an client for In-App-Updates, automatic device specific web sites and handling multiple applications. Completely file and directory based.
HockeyApp: Web Service for beta build hosting, In-App-Updates, Statistics, and including device registration, invite and recruitment. Also provides server side crash report collection, symbolication (for all threads) and crash grouping for beta and app store apps (iOS + Mac). SDKs are open source, using HockeyKit, QuincyKit and PLCrashReporter (which is the only safe solution on how to do crash report collection on iOS, see this article.
Note: I am the main developer of HockeyKit and QuincyKit, and one of the developers of HockeyApp.
This was possible before TestFlight rolled out a service. The technique stemmed out of the enterprise distribution mechanism. Since 4.0 devices have supported install from web.
Remember - you still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. All they are doing is taking the email the IPA step out of things.
See:
http://www.alexcurylo.com/blog/2010/08/27/wireless-ad-hoc-distribution/
Update: I want to say that Test Flight is one of the most helpful tools I've used when developing though. Just taking the IPA emailing out of the picture was an understatement- I was just trying to call out the technical mechanism. They do a fantastic job managing the whole beta process. Getting new devices enrolled. Notifying users etc.
Testflight basically uses the normal Ad Hoc as already stated.
For this to work, you need the UDID for every device in order to add it to the Ad Hoc profile, re-compile the app with the new profile an redistribute the new build.
You can get the UDID with the help of the OTA Authentication Request. This is actually a step that is done in MDM before the actual profile is rolled out to the device. It basically asks the device for further information about itself and send it back to a self specified server.
The first step is documented here: Apple OTA Configuration
I guess Testflight uses this right after the registration process to collect the UDID, phone name, ...
Yes this is a core feature of iOS for Enterprise Customers who wish to distribute OTA.
Presumably you would pass your UDID over to TestFlight along with the app and they use their Enterprise Licence to send the app to you. I'm sure I'm missing a lot of the technical details but if you want to know more, Apple has a video on this from WWDC 2010.
Login to developer.apple.com, go to WWDC 2010 Videos and use the link to get to the vidoes. The video you want is "Session 108 - Managing Mobile Devices". It is very informative about what is possible with OTA and the steps you have to take to do OTA provisioning.
Stock iOS devices are "vulnerable" to running the user loading Ad Hoc apps from any developer who has that device's UDID, and registers that UDID among their 100 allowed devices on Apple's developer portal.
OTA distribution is just another way to install an Ad Hoc beta test distribution from an enrolled developer.

Resources