Automated Installation of Configuration Profile - iphone

We would like to allow our iPhone application users to access to our secure and protected Wi-Fi hotspots, without having to manually download a configuration profile themselves. From my experience today, users have to either open an email with a profile attached, click on a link or have the app programmatically open up safari in order to download a configuration profile. We’d like to avoid the users having to do anything at all.
To that end, does anyone know if it is possible to have a configuration profile installed automatically on a user’s iPhone, such as when the mobile application is downloaded from the app store? Or is there another mechanism through which we could allow our iPhone users to gain access to our secure Wi-Fi hotspots.
Also, I am curious does anyone know of any companies that have enabled such a solution?
(note there is an older thread on this topic from 2010, which implies that this is not possible. Given it has now been 3 years and that we're on ios 7, I would like to see if the capabilities of iOS has changed.)

There are four ways to deploy configuration profiles:
By physically connecting the device
In an email message
On a webpage
Using over-the air configuration
More on this Document.

Related

How to enable read_stream in Desktop Server App

We have an App which is intended to run on a LAN reading a company's own feed and producing local reports with it.
In order to do this I need to enable read_stream but I note that this is not possible without submitting an App for Review.
However in order to do this I need to choose a platform. I am only able to choose between ios/andrioid/Windows App/App on Facebook/Website/Page Tab/XBox/Playstation
A Windows Server is none of these. I looked at Windows App, but this is asking for a Windows Store ID - we do not particularly want to put this in the Windows Store. We just need to turn on read_stream.
Also, I see that the Review Submission requires a minimum of 4 screen shots. This seems a bizarre thing to have to provide for a Windows Service.
Any ideas how I can navigate all this red tape ?

Automatic OTA updates in an ios app which is locked down with guided access

My client needs to find a way to automatically push app updates to a number of iphone 3gs devices remotely. These devices will be in guided access mode so the users will only be able to access the app in question.
I believe we have two option for distribution:
B2B custom app via the Volume Purchase Program
In-house app released with the Apple Enterprise Program
Having researched our options I can see that over the air app updates can be achieved by either:
Building an in-app update functionality to check for new updates (Enterprise only I am guessing?) and automatically update and restart the app
Using an MDM such as http://www.air-watch.com/ (as I understand Apple Configurator must have devices plugged in via USB to work?)
I am wondering if anyone can tell me whether either of those options are possible with the devices being in guided access mode?
Or are there any other solutions, which I have missed, that can automatically manage the app remotely while the device is in guided access mode?
You can solve this with an Enterprise distributed app.
App only. Update check for an OTA-Update from your app when the app is coming to the foreground (or some other metric at your clients leisure, like added time delay, etc). Basically self explanatory; you implement a call to your clients/your API to check the version and inform the user of a new one. The update can either be optional or mandatory (preferably announced by the API and changed when needed); present the user with an alert about it. The user acts upon it and you OTA install via an ITMS link provided by your API call. And that's it.
MDM. Tbh, I'm a bit on shaky ground here. Theoretically this is all possible via MDM too, however I am not sure if it is the (varying) MDM solutions or some misconfigurations, but clients usually seem to lose control after some time.
Both. Yes, you can perfectly well live with both. MDM while everything is fine, and as a backup a well structured App+API mechanism to push the OTA updates out. This is especially useful if you have customers where some departments are under MDM and others are not. So, some may get it via MDM (and if all else fails via the App itself), the rest will get it via the App.
The tradeoffs are a matter of personal preference, if there is a fully working MDM solution in place the update will be pushed out and the user however 'malicious' can do nothing against it. But the same is true for the 'App only' solution, as you have the option to not let him use the app if he does not update (either by not providing a cancel button or, as you are in an enterprise environment and there it is allowed doing an exit(0)).
From experience I prefer any solution that has the 'App only' option as it is the last fallback if anything on client side fails. Whatever may be added on top is just sugar to the cake.
While not strictly relevant, the 'App only' solution always goes well with Push Notifications when an update came out.

Creating an iOS application which is distributed to limited selected audience

I just started creating custom client application for IOS, Which i have already developed for PC and Android clients. Idea of these apps is to use SQLite database file, which is created in PC admin app and is actualized by Internet. Development of this application is payed from one company and shoud be distributed to selected group of people.
What i want to ask is how to distribute this IOS application to certain audience of people (who has right to use it)? Should I put it on app store as free app without database file which should be downloaded to iphone from secret site?
The best way to do it is via the iOS Developer Enterprise Program.
As for the data, you could link it to a web API if the data is growing or changing regularly. But for static data, you could distribute it by including it in the application itself. See CoreData and other tools for more information.
You can also release it for free on App Store and provide a custom login. However, this is not recommended as this application is useless for the rest of the world. The only reason you would want to do this is if your custom clients can register on your website or some place else and you want to allow them to access the app. This is generally done for subscription based applications. But I presume yours is not such a case.
There is also Ad Hoc distribution, but with that you are limited to 100 devices.
You can read more about distribution.
Note: this may not be the bust way but here is my solution for it
I established a server and set user credentials on the server before, i share credentials with the client and he/she logs in with them.. Later they can edit their credentials, my app is on the store for any body but someone who doesnt have those credentials can't log in..
What you're trying to do is this:
https://developer.apple.com/programs/ios/enterprise/
An ad-hoc distribution is your solution.
https://developer.apple.com/programs/ios/distribute.html
If you're planning to distribute the app to more than 100 people, go for their Enterprise program:
https://developer.apple.com/programs/ios/enterprise/

Is there a neat way to tell if iPhone/iPad has been set a passcode by user

I have asked this question long before.
I know it maybe impossible, but as far as I know, 'Find my friends' has this features and it works just so well, so I wonder if now there is a neat and legitimate way of doing that.
Just because Apple's Find My Friends app has a feature does not mean the API is publicly available. If this app is not an enterprise app, you can't use private APIs and have your app put on the app store. If it is an enterprise app, you may want to look into setting up a configuration profile for the device. In order to access the VPN for my employer, I had to install a configuration profile (visible in Settings) that requires a passcode to be entered every time I unlock my iPad. Without that, I cannot VPN into their intranet. TestFlight uses a similar approach with profiles to register a device to receive builds. I would check out this link from Apple on setting up these sorts of profiles for enterprise applications: http://www.apple.com/iphone/business/resources/
There's no way to detect this programmatically from within an iPhone SDK-based application. If you need to, you should file an enhancement request with Apple at http://bugreporter.apple.com

Using iPhone Configuration Utility for custom app

Can Apple's iPhone Configuration Utility be used to configure my own application? I have created an app with a number of different settings, and I would like the option of having someone in a corporate setting having the option of configuring the settings via a configuration profile like what Apple provides for their own apps using iPhone Configuration Utility. What are my options here? Thanks for the help,
Unfortunately no, you can't use the current version of the iPhone Configuration Utility (3.2) to configure anything but the predefined configuration settings built into the OS (things like VPN, WiFi, ActiveSync ect...)
You could have your application call into a central server (when it is run) and punch its own settings. However this won't include things like enabling GPS location tracking or push notifications, since the user gets the final say on these settings (when they are prompted).
If you mean the settings app on the home screen, it's easy. All you need is a plist:
Here's the documentation for implementing it. It looks like a lot of work, but it's really not. They just have a lot of that marketing style text that they love to put around the documentation:
http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/Preferences/Preferences.html
You have to store your settings on your own server and let your app interpret them. iPCU is only for configuring iPhone built-in apps.
If you do need configure them in an easy way, checkout the app, iPCU on AppStore. Pre-config settings such as email, vpn, calendars... and send them to your fellow co-workers via an Email. After installing the profile, their iOS devices are ready for the enterprises use right away.
iTunes:
http://itunes.apple.com/us/app/ipcu/id513585146?mt=8