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
Related
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.
Is it possible to make an iOS application for enterprise distribution that updates itself transparently? Saying 'updates' I mean completely updating its logic.
A possible usage of this approach is a self-service kiosk (iPad) that is maintained remotelly.
It's not possible to update application binaries directly, but I see some possibilities:
Application that have a single UIWebView and the logic is implemented in HTML5. But we can't use most of hardware specific features that can be used in native applications.
Some multi-platform framework (possibly HTML5-based) that allows to use native application features and that is compiled or interpreted dynamically.
Jailbreak?
What are really working approaches of these?
Consider getting a mobile device management service. Those are pricey.
OR:
First, enable over-the-air distribution. It will take $300/year enterprise agreement with Apple. Set up a website with the app's IPA archive and descriptive PLIST.
Then code a call-home HTTP request on app startup. You may pull/parse the same PLIST that describes the latest version; it has a bundle version in it. Compare that to the version of the currently running bundle.
When a new version is detected, the app shuts down, opens the browser on the download page. In a softer manner, just notifies the user that an upgrade is available.
I've never tried linking directly to the app's download package, but give it a try. In a perfect world, Safari would open up and ask "Do you want do download MyApp?" right away. In a not so perfect world, the user would have to click a link and then agree to download.
I think what you are looking for these days is the "Apple Deployment Program".
You volume purchase iPads which get sent to people, but that you can manage remotely - which also means management including remote updates of applications.
The only thing I'm not sure of is if you can launch an app remotely, so that you could update and re-launch an application.
Here's a guide to enrolling devices for remote management:
https://www.apple.com/business/docs/DEP_Guide.pdf
An old but good summary of the program:
http://www.speirs.org/blog/2014/2/27/understanding-apples-new-deployment-programs
Also watch the WWDC video on Managing Apple Devices for the Enterprise:
https://developer.apple.com/videos/wwdc/2015/?id=301
The app I am currently working on requires the use of Configuration Profiles in order to connect to a server to download XML. The certificates are distributed in the form of .p12 files, and they can be installed in the settings app in the iPhone like the bottom-left image.
The problem is that all over the internet people are saying that this is impossible.
HOWEVER, Junos Pulse can do this(bottom-right image).
It is only reading the Configuration Profiles which is exactly what I need.
I did not have to install them into the Junos Pulse app. Adding them to the system, and launching the app is enough for my profiles to be recognized.
Thanks for your help :)
The reason the Junos app is able to do this has been explained in a post in the Apple Developer Forums.
Original Question: https://devforums.apple.com/message/660579#660579
Explanation about Junos app: https://devforums.apple.com/message/351326#351326
To sum it up, access to this is not provided in the SDK and is by invitation from Apple only.
You won't. Your application is sandboxed, read the iOS App Programming Guide. Developer profiles are not public information for applications to access.
I am not sure what you are trying to accomplish, but the iOS Keychain services allows you to store and retrieve certificates and keys in a (supposedly) secure way. I have not used the API for other than storing passwords, so I cannot say how it works with certificates, but according to the docs it might work for you.
In particular, have a look at the SecItemCopyMatching function.
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
We need to be able to easily install our in-house apps on our devices and quickly update them no matter where they are.
I'm looking into different ways of distributing our in-house app to our staff. So far I've found iTunes, iPhone Configuration Utility, install via a web link, etc...
Our devices will more than likely not be in proximity to our office and mostly rely on 3G, so it seems that the web link is my best free option.
I made a web-app that I can add to the home screen to install / update the application. What I want to do is make the web-app more intelligent: Display an "Install" button or an "Update" button. Ideally I want the web-app to know what version of the app is already installed.
The only way I can think of doing this: When the user clicks the install link store the version number in localStorage. When they return later compare that to what's available and display the right button.
The biggest issue with this "solution" is, what if the user clears Safari's cache? Do home screen apps have their own protected cache?
Another option is have the app itself relay its version number to the server and store that in a database. But this is more complicated, so I would like to avoid that. If I could use a url scheme to get the version number without launching the app, that would be acceptable. But I don't think it's possible.
So given that we need to readily update the app quickly on the device no matter where our staff travel, what is the easiest, best, and preferably free solution?
It's really simple... the app can update itself by opening a weblink... you don't have to open it in safari. So on app start just check the version from the web server and when it's not up to date it can update itself.
You could also send a remote notification if it's urgent.