I would like streamline the process of testing my iOS iMessage extension by automating and distributing builds signed with an enterprise provisioning profile through something like Jenkins.
However after repeated attempts I have found that installing an IPA that includes the app extension does not install the app extension.
I realize as per Apple's documentation (https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html#//apple_ref/doc/uid/TP40014214-CH5-SW11) "To deliver an iOS app extension, you must submit a containing app to the App Store."
Despite this, the wording is sufficiently vague enough for me to wonder if there is at all any way to distribute archives that install the messages extension when installed.
Has anyone had any success doing this?
If not is it because it's actually impossible?
Distributing the containing app via an IPA works perfectly fine.
When the containing app is installed the app extension is also installed as per Apple's documentation.
However for iMessage extensions make sure to check the "managed" tab of the app store to make sure that the extension is added to the iMessage app drawer when it is installed. I missed this originally, hence the original question :(.
Related
I've seen a number of similar questions asked, but I'm still not sure they answer my own question. I also read this.
My specific requirements (or lack thereof) are:
I don't want my app to appear on the app store
I just want to install it manually on a number of iOS devices.
I don't mind using the terminal or a third party app.
I don't mind if the user has to manually select "trust this developer/app" from within the iOS device before being able to run the app.
I'm a little confused because what I've read says that I need a developer account, or Enterprise account, to install.
But how is this so? XCode, for example, installs the build perfectly, and I don't have a developer account. Is there not an XCode terminal comman I can execute to simply install the .app file on the device?
Or would this require jail-breaking? If so, how come? XCode does it just fine...
I understand Apple would probably want to restrict this behaviour due to security, but I wanted to ask. Perhaps the only way really is an Apple developer/Enterprise account.
Possible solutions could be:
Fruitstrap => "Install and debug iPhone apps without using Xcode. Designed to work on unjailbroken devices."
Sideloading => But I think this requires revealing your code.
EDIT: for the purpose of building the app on the device as a debug build straight from XCode, you don't need a payed Developer account, you just need to register as a Apple Developer & login to XCode with that account and you should be to build debug builds on your device.
You have a few alternatives here:
1/ export the .ipa file after you build a release version of your app in XCode and distribute it to the devices, you want to install it on. You will however need to sign your app with your certificate of iOS developer. More about it here:
https://wiki.genexus.com/commwiki/servlet/wiki?34616,HowTo%3A+Create+an+.ipa+file+from+XCode
2/ Basically the same thing as above, but you can use some 3rd party service for build distribution (which is easier than distributing .ipa files around. Something like Crashlytics Beta or something. Even TestFlight would work, tho I am not sure if app in store is not required.
Either way, you will have to deal with code signing and need to have a Apple Developer account, unless you distribute it via building it straight to the phone as a debug build.
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.
I am currently finished with making an iOS app and I would like to distribute the app amongst my co-workers using ad-hoc distribution. I have only two months experience with XCode and I am confused about everything about what materials I need to send an app out to my co-workers. I don't want to make an error that I cannot reverse.
What are the essentials I need to bundle in order to distribute an app to other people?
What is a provisioning profile and is it needed to distribute an app?
Is there a way to send people an app using ad-hoc without registering their UDID's?
Lastly, is there a recent tutorial on creating a web link to distribute an app?
Would dropbox be easier?
You will need to archive your app and then export it as Ad-Hoc. No extra work need here.
What is provisioning profile
No
Distribute ipa via web
As a matter of fact, there are a lot of more handy ways. I suggest you to look at HockeyApp or Fabric which allows you to get more than just a deployment - it allows you to gather bugreports, self-updating and many more. Of course, don't forget about Apple's TestFlight service, which seems to be greatly integrated into xcode 7.
Looks like the app has to be rebuild after one year when distributed this way to the users. Testing with Testflight is limited to 30 days. I did not find a way to make an app for a small company without paying 100$ to apple.
Let me know if i´m wrong.
I have developed an iOS app. I want to give it for third party testing. What should i choose scheme when creating build for third party testing, Debug or Release? Third party testing device UDID is included in the provisioning profile.
If I use TestFlight for OTA installation, will the UDID to be included still? (or) TestFlight app doesn't need any UDID included in the build?
Please advise!
Thank you!
(Seems like I can't comment yet). In response to the comments posted to the original question:
TestFlight, part of Burstly, is now Apple propery, as mentioned in this rumor
http://www.macrumors.com/2014/02/21/apple-may-acquire-testflight/
and later confirmed by Apple.
http://recode.net/2014/02/21/apple-confirms-burstly-buy/
As mentioned by someone, Apple uses shuts down their acquisitions and hence it may not be a very good idea to start using it now.
Archive your app, which will be a release build by default as far as I know. Doesn't really matter what the build type is, then in the archive manager click "distribute" and "save for enterprise or ad-hoc deployment", and select a provisioning profile for the app that has your beta tester's device IDs embedded in it, only those devices will be able to run the app.
This will create a file with the profile built in. Users can install it on their phone using three methods:
add it to their iTunes library and sync the phone using USB
use the "iPhone Configuration Utility", which is a free download for windows/mac from Apple's website, and doesn't require iTunes and all the baggage that brings along with it
upload the file to a website and also upload an XML file pointing to the download URL and also a PNG image, display name, and a few other things. Get the iOS device to visit the XML file's URL with itms-services:// as the protocol. Any means to open the URL is fine, email, website link, SMS message, whatever.
Test Flight uses the third approach. But you can easily set it up yourself.
Extensive documentation for all three approaches is available at http://developer.apple.com
Whichever method you use you'll need to build the app with a provisioning profile that includes your tester's device UDID.
I suggest using a Release build, so they are actually going to be testing the same version you are planning on releasing.
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How do you beta test an iphone app?
In Android you can export your app and get the .apk file that can be installed on any phone for testing. Is this possible with Xcode and iOS? I mean, I got assigned a job and I want to send my first demo.
My questions are the following:
1) What should I send? is there something similar with .apk file?
2) I know the procedure of publishing an app. If i just want to send it fro testing do I have to create a distribution profile and all that staff? The thing is the final app will not be published from my developer account but from the employee's. Is that a problem?
3) Does the person that I will send my file needs Xcode to run the app or something? I do not want to send him my code before he pays me.
You can send demo files of your apps by building them as "ADHOC" versions, but to do this you'll need the device identifiers (UUID's) of all the devices that you want to run your demo app on (in other words, this is the "distribution profile" you're asking about; you need to create a provisioning profile that gets included in the distributable app package). Here's some instructions that can help you get started.
The person can install your ADHOC app either through iTunes (syncing) or directly downloading & installing the ".ipa" file via their device's Safari browser. They don't need to use Xcode.
If your client has an iPhone, then use TestFlight - it makes the whole process of building for ad-hoc distribution much easier and a lot more efficient if you plan on sending multiple builds during development.
You can check them out on http://www.testflightapp.com - They have great getting-started docs and it only takes a few minutes to start the whole process - also, you don't need to install their SDK if you're just sending a pre-release build to somone.
To answer your questions more specifically:
The file that gets exported for iOS development is an .ipa
The .ipa must indeed be signed by an ad-hoc distribution certificate
If you use TestFlight, your client will be able to install your app
from an email - super simple!
Oh, and did I mention that it's completely free? :)
EDIT:
As mmc pointed out, you should check out the basics of Ad-Hoc distribution before using TestFlight, just for your own peace of mind. mmc recommended looking at How do you beta test an iphone app?, and an intro to TestFlight can be found in their tutorial base, here.