Can't figure out how to send iOS Apps Ad Hoc to certain iPhones using Xamarin on Visual Studio 2019 - ios

OK, so I created an app using Xamarin. I am wanting to push the app through Visual Studio 2019 on a Windows computer to certain iPhones. I included the my profile on Apple Developer website. You can tell it is ad hoc
Now I am in Visual Studio 2019, you can see I am using the correct provisioning profile
Now when I go to the Archive Manager in Visual Studio 2019 I see a couple of options
When I click Ad Hoc, I only see an option to "Save as". I don't know what to do beyond this point? Unlike when I push App Store, which uploads it to the store.
Please what do I do, what am I missing

That's the idea behind an Ad-Hoc build. The build is used to produce a file that is ready to be installed for the predefined devices. The file type can be either .xcarchive, or .ipa.
Quote from the official docs:
You distribute your app by providing the .ipa file for users to install on their devices. Because you select a valid ad hoc provisioning profile to archive the app, users don’t need to install the profile on their device, only the .ipa file. Users can use iTunes to install the app on their devices. If users want to use Xcode to install the app on their device, share the archive as an .xcarchive file package.
Basically, Apple guides you how to create a package or an archive which will be ready for distribution, but how these files will be distributed is up to the developer.
If you choose Save As in the last step/picture, you will have a distribution-ready .ipa file. You then need to deliver/send this file to the provisioned devices' owners. You can distribute it in 2 ways:
Follow the steps from the documentation. Unfortunately, this means that the user, that will have to have a Mac, in order to install the .ipa file through the iTunes. I haven't tried it on a Windows machine, but I doubt that it will work.
If you wish to simplify the whole installation process, you can go with uploading the file somewhere and sending the link to the users. Here, we can take 2 paths again:
a) Host it on your own. However keep in mind that this will require additional setup. There is plenty of steps only how to achieve this, but here's one way.
How to Install .ipa file to iPhone from Web Link?
b) Host it somewhere else. There are plenty of sites/cloud providers that can handle that for you. Personally, I am using Diawi, but I read somewhere that Dropbox should also work out of the box.

Related

Run ipa on device without cable and not with TestFlight?

Is it possible to distribute IPA to device without TestFlight, and not via cable? I have a new MacBook Pro with usb-c and an iPhone. Hard to get company set up TestFlight. Any idea how to test on device?
Yes. Ad-Hoc OTA is the way to go.
On developer.apple.com:
navigate to your account & login
click Certificates, IDs & Profiles in the side menu on the left
on the left, find Devices & click +
register multiple devices by uploading a spreadsheet including the UDIDs and names of the devices
follow the steps to finalize the registration process
You might need to wait 24 hours; I found, it sometimes takes really long for the changes to take effect.
Inside Xcode:
prep: open Xcode settings, accounts, your account and then re-download all the profiles and certificates
archive the product
open the Organizer window and find the archive you've just created
click Distribute App
choose Ad-Hoc
make sure to have include manifest for OTA installation enabled
follow the steps
finally, click export and choose a location to save the files
Upload all the files (icons, .plist & .ipa) to your server. Note that the server needs to be https, this is mandatory. If your's isn't, upload it to Dropbox or some other cloud service. If you're using Dropbox, make sure to replace www.dropbox.com with dl.dropboxusercontent.com.
Manifest
open the manifest.plist file and insert all the new urls
again, for dropbox: replace www.dropbox.com with dl.dropboxusercontent.com
upload the manifest plist to a secure server.
Link:
itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/YourURLHere/manifest.plist
You can try Diawi for Development & In-house Apps Wireless Installations
It will require the target devices to be registered into the signed provisioning profile that will be distributed with
For me Fabric is an excellent tool. You can check it out here. I often distribute ad-hoc builds using this. It simply sends the app install link in an email and you can open the email from your iOS device and install the build right away.

How to distribute and install on test devices an iOS app under development?

I am new to iOS app development. I have a standard Apple iOS developer license. When I build my app it creates an ipa file. If I send this file to someone, will they be able to install it? Or does that require an enterprise license?
You can share an ipa archive with testers/friends using Ad Hoc Distribution. You do not need an enterprise license to do it, team or individual is enough. You will need to register a device's ID in the Member Center and to generate an Ad Hoc provisioning profile with this ID:
Using this method, testers don’t need to be team members or iTunes
Connect users to run the app, but their devices need to be registered
in Member Center. You can register up to 100 devices per year that
your team can use for development and testing. Therefore, choose this
method if you can use a portion of these devices for testing and can
collect device IDs from testers. Also choose this method if you’re not
ready to create an app record in iTunes Connect. You don’t need to
validate or upload your app to iTunes Connect to distribute it using
an ad hoc provisioning profile.
As you have standard development licence, it's enough for distribution under 100 devices, and after one year, you can also remove previously registered devices from your member centre.
But as the answer above described, it should be ad hoc distribution only you can use any except Apple Store distribution, so the easiest way to do that is to just create a development provision with as many selected device as you want to distribute. After that, you just need to install a particular provision in your Mac by just clicking over it and then select the provision in your project.
Now compile your project.
After successful compilation, go to product folder, select the app, and reveal it in folder.
Copy the app file from this folder.
Just create one folder on your desktop and name it Payload.
Paste the app file you just copied inside the folder.
Place one image again on your desktop and name that iTunesArtwork but without extension.
Now select the payload folder and iTunesArtwork file together and compress it.
After compressing it, create archive.zip and rename it to may.ipa.
Now it will ask if you are sure you want to rename it. Press yes.
Now you have ipa read within few steps and you can use this payload and iTunesArtwork for making another .ipa or for any other project. Just leave this both folder and the file on your desktop. It will always help you.
Now go to http://diawi.com and upload your ipa file here which you just renamed, and then when it's done with uploading, press the send button. It will give you a URL. Share it with your testers or friends. They can directly download it in their device. No need to send ipa, and in this process, no one can use re-engineering in your .ipa. It's safe and secure.

Releasing an ios mobile app built in flash builder 4.5 without apple certificate

I have a jailbroken iphone 4, and I want to create a release, an ipa file from a flex project I've written in flash builder 4.5.1, For testing purposes (on my device). Can it be done without buying the apple's developers certificate?
Thank you!
Dan
This might be a bit late for you and you may have even got an apple developer account by now but there is actually a fairly easy way to do it. It is advertised everywhere for flash cs5 but in flash builder it is slightly more tricky.
go here and download the file. The password is 1234.
extract those 2 files to your desktop.
in your mobile flex project navigate to the default package folder under the src folder under your project name on the left and open the main-app.xml file. Change the id value to "com.gamevil.zenonia2" without quotes. (this is needed to make this p12 certificate work with your app in flash builder.)
build a final release by going to project->export release build and click next at the first window after you are happy with the settings.
finally, select the mobileprovision file and p12 certificate which should be on the desktop and enter in the password (1234).
and that's it! flash builder will now put the .ipa wherever you specified and simply drag this into itunes and click sync. note this .ipa will only sync if you have a jailbroken device with appsync installed. let me know if you need more information regarding jailbreaking.
Here is my post on the topic from my blog.
A distribution provisioning profile is needed to install apps onto a device. In order to generate a distribution profile you need the developer's certificate, so you need to purchase the account upgrade from Apple.

Download .app from link

What kind of link do I need in order to download a .app file from Safari directly onto a device?
I want to do the same with .apk's, so any information / code snippets would be greatly appreciated.
Thanks!
You should use enterprise distribution. When you create your application archive there will be an option to do enterprise distribution. Once you do this you will get your archive as well as a .plist manifest file. Using these you should be able to create a link by following these instructions:
https://help.apple.com/iosdeployment-apps/?lang=en-us#app43ad871e
You will still need to get your users' UDIDs and create a provisioning profile for them to use. (iTunes required once)
Once that's done your users can click a link and directly install the app. (No itunes required!)
This is not possible with the current app store structure. Unless you are doing some sort of in-house distribution using an Enterprise developer license then the only way to get an app is through an app store link.
If you are thinking about using some kind of limited ad-hoc distribution you will still need to use itunes or iPhoneConfigurator to install it.

creating ipa for distribution to client

I wanted to know what is the use to create an ipa and distribute it to client for testing when we can easily zip the built app and distribute the zipped .app file.
What is the benefit of creating the .ipa?
Is it that creating the ipa do not need the mobile provisioning profile?
Please clarify my doubt.
I would tell you an advantage from my experience. When you deliver a zipped .app file to a client, if he is using iTunes on Windows machine, he would be tempted to open it(as .app looks like a folder in Windows). That would actually render the app unusable. However IPA file can't be opened in any way. So it is safe to distribute IPA without considering whether it is going to be deployed on a Mac or a Windows PC.
Although middaparka's answer has been marked as correct, the link in his answer is now deprecated. The updated reference is App Distribution Guide
The ipa file is in fact the installable.
I'd recommend reading the iOS Development Guide (see the "Distributing Applications" section in particular), as this explains everything in detail.
The reason why I use the .ipa over .app is because you can have your clients install your adhoc build straight from the iDevice over mobile safari without having to go through iTunes.
This comes in VERY handy. However, it does take some research to do because it is a wee bit tedious. Basically you have to have a html page incorporating a link to a manifest.plist that has a link to the .ipa file.
http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/
Use the Build and Archive command in Build menu. Then you can save it to disk as an ipa archive.
You don't need to send the mobile provisionning profile with the .ipa so it's easier to install for your client. And it's easier to build it (Product->Archive in Xcode than share than give the .ipa name).
I don't understand why Apple gives the technic for the .app in the iOs provisionning portal.

Resources