Why I cannot Verify custom enterprise apps on my iPad? - ipad

We distribute the test versions of our iOS apps through HockeyApp custom enterprise app store. Because of ASPN shenanigans our iOS developer refreshed some of our certificates. Since our two recent releases I cannot start the apps because they are from an "untrusted developer".
The procedure for this would be easy normally, you just have to navigate to Settings -> General -> Device Management > Enterprise App > ... and manually Trust them (I've been there before and I've done that in the past "Untrusted App Developer" message when installing enterprise iOS Application, https://support.apple.com/en-us/HT204460). But I get a nonsensical error suggesting that I'm not connected to the internet. Since I'm connected to wifi the verification obviously fails because of another reason, but I don't know why.
My iPad is a 3rd gen iPad with the latest possible iOS: 9.3.5.
Now I got to the point that I deleted all the apps belonging our enterprise developer organization. After that I first trusted the organization itself, which was successful. I installed again only the two problematic newest app releases so I can verify them. But I still get this nonsensical error. How can I overcome this?

Someone else from our company could successfully install our HockeyApp apps onto another iOS 9.3.5 iPad. That ruled out iOS 9 as a cause of this.
Then I removed my iPad from the registered devices in HockeyApp's management interface.
When I tried to add it back I had to install HockeyApp's profile (that contains a few certificates related to HockeyApp, and it's needed to be install first so that I could install actual HockeyApp distributed applications.
I received an error while trying to install HockeyApp's profile saying that my iPad is not activated 0_O
I struggled with that for a good while until I manually restarted the iPad and low and behold it started to go through the activation procedure.
After activation, bootup and login I also signed out with my iCloud account from the AppStore settings and signed back in (just to be safe).
Then I could install the HockeyApp profile and now when I install the actual apps we distribute through HockeyApp I don't have to Trust them manually any more.

I’m pretty sure that your apps where revoked, try putting them under a different developer, if you did not make the enterprise app please contact the developer of the app

Related

Authentication failed for iOS app-specific password, but what do I do with my app-specific password? Where does it go?

Got a new SSD for my mac (so it is like starting over), and am trying to set it up for Xamarin iOS development (again). After much fun with Apple procedures I am ready to upload to the App store, but get this message:
This message pops up when I am after the Archive is built, after I select Upload (after Sign and Distribute). It seems the important part is Authentication failed Sign in with the app-specific password you generated.
Sign in? Sign in to what? I have my app specific password, but what do I do with it?
There certainly seems to be a lot of web pages trying to push me to appcenter.ms, but I should not be forced to use a Microsoft service to distribute my app and do not wish to go that route at this time.
Below are some hints to help others who like me are not full time iOS app developers and are tired of massive web pages explaining the process.
Important things to know/remember for Xamarin/iOS development (obviously you need a Apple developer account, need to install XCode, VS, Xamarin):
you need to tell XCode your Apple developer credentials
you need to tell VS your Apple developer credentials
you need to tell Apple the UID of your build box, test devices
you need a developer certificate and distribution certificate from Apple
you need to create two provisioning profiles, one for development and one for distribution
somehow building a Xamarin iOS demonstration project in VS on my Mac made the iOS simulators available to other projects
you may need a special Apple intermediate certificate (AppleWWDRCAG3.cer) and install it, even though various webpages said that was only necessary if your XCode was an old version (I had the latest XCode and still had to find/install it)

IOS 10.1.1 Untrusted Enterprise Developer error

I downloaded a few apps from a third party website, and the apps are perfectly functional for the first couple days and then I get the Untrusted Enterprise Developer error again. I go into my General->Device management and attempt to trust the apps once more, but there is only an option to delete or verify apps. I notice that all of the apps are unverified, so when I attempt to verify the apps, it acts like its about verify-but nothing gets verified. By this point I can either press Verify apps again, or press Delete apps. If I press verify apps again same result. How do I get my apps running again?! Please help.!
I found that deleting the app via settings>general>device management>APP, then reinstalling, fixed the issue for me.

How to distribute my finished app without app store?

As the title states, I have been developing and testing an app for Iphone. I have got it to install to an iphone via it being plugged into the Mac. But, I would like to get the app place it on my webserver then via a website allow someone to download and install the app. I tried following various tutorials, but as shown below after archiving the app, the export and other buttons are greyed out. Have also made sure 'Generic iOS devices' selected. What could be causing this ?
You have to use Apple TestFlight or use a third party service to allow your beta to be distributed for testing. One good service is HockeyApp, which I am using currently and it is very cheap $10/month.
Without having the UDID of your client, you simply can't!
What is causing this may be that you are not enrolled in the correct Apple developer program.
A stock iOS device will only install an app from a link on a website if the app is signed by certificate from an Enterprise Developer program enrollment (or Ad Hoc provisioned). The Enterprise distribution method is only allowed to employees of the enrolled corporation.
Ad Hoc deployment to devices registered to your enrolled Developer account is also supported by stock iOS devices.
One other possibility is to put a link to your entire Xcode project on your website, with instructions on how anyone with a Mac and Xcode can build your app and then run it on on their device.

iOS apps installed from outside the AppStore

I'll start by saying that I'm pretty new to iOS apps.
I remember I installed an app from their website while they were in beta. Since this was possible(2 months ago).
Is it still possible today? Does it still require to be register in Apple's Developer Program?
I know one can develop iOS apps in Adobe AIR. Can the apps be installed without the Apple Program(from outside the AppStore/on your own iPhone for testing purpose)?
Sometimes you'll get an icon an the home screen that looks like an app but it's actually a shortcut to a web app.
You can install apps from outside the App Store - compiling it yourself, or having someone send you the ipa and a provisioning profile. But this requires your device id to be added to the developer's developer account (unless they have an Enterprise licence, in which case they can distribute it to anyone).
Testflight lets you download apps for testing, but the developer needs to have created a profile with your device id.

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