Can you delete an application from another application? - iphone

Like this article,
In Android, can you delete an application from another application?
Can you delete an application from another application on windows phone 7 or 8? (including
enterprise features)
and I have a same question with iOS. I know that enterprise features provide installing another application via url. but what about "uninstalls", does it possible ?

No, Windows Phone will not allow your app to access any files outside your own app's sandbox. You can't delete other apps or even access their data. Allowing an app to do so would be a huge security problem.

In iOS, it is not possible to delete an app from another application. Apple will never allow that in a normal device. I am not sure about jail broken iPhones. User has to manually delete an application for normal devices. Looks like even Windows phones wont allow this.

Wrt. to enterprise features, you can install packages, as well as view status of installed packages (installed, percent installed, pending install), plus various properties like app icon etc. But still no API for uninstalling these packages. See InstallationManager API on MSDN here: http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.management.deployment.installationmanager(v=vs.105).aspx

Related

Auto-updated iOS application for enterprise distribution

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

Mobile Application Management for iPhone

I am trying to develop a critical enterprise application for iPhone,which needs to be able to list all the installed applications on the device.
Also the application should allow the user to install other apps from this application by clicking some install button and uninstall app by clicking some uninstall button.That means this app should be able to manage all apps on the device (atleast all the enterprise apps on the device).
I know it is not possible in the sandboxed iPhone environment. So I am thinking to setup some MDM/MAM server which accepts requests from the client app in the iPhone and let the MDM/MAM server manage the app installation,deletion etc .
Is it possible to setup custom MDM or MAM sever? We already have an enterprise account.
If you want to determine whether other apps provided by your company are installed, you can add a unique URL scheme for each to the apps' Info.plist. Then to check their installation, you can iteratively check the return from -[UIApplication canOpenURL:]
If you want to be all crafty about this, you could download the list of url schemes from a server on your intranet. Thus users without a certain app could be directed to download it. Furthermore, you can check the installed version via a second special url for each app version of each app.
This does most of what you want… as for the uninstall, users can just hold down on the app until it jiggles then delete it.

Updating iOS apps automatically with an MDM + Enterprise license

We have an iPad app running in a kiosk mode deployed across multiple physical locations. We'd like to have a solution where any updates to the app are pushed automatically to the device so that the client does not have to touch each iPad they have.
Our client has an existing MDM software that notifies the user if there's an update, but since it's intended to be a kiosk we don't want the general public to actually do the update by themselves.
Does anyone know if this is possible at all?
Thanks,
Teja.
Edit: As of iOS 7, you can now force an app update through MDM software.
(Previously for iOS 6 and below):
Sorry, but with even with the enterprise program and an MDM server, you cannot force an update on an iOS device.
Your best bet would be to configure the updates so that they run automatically just by clicking once and accepting the update. That way it is safe for anyone to accept.
Sources: Own knowledge and this site.
I know that as of iOS 7, this is no longer the case. If your app is managed via your MDM solution, you can force an update.

iOS Enterprise distribution through webapp?

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.

How can I get to installed app list on iPhone device?

I'm new for iPhone dev.
I got a question for development of iPhone app.
Is it possible to get to installed app list on iPhone device?
thanks.
Connect you device in your system, use following command in terminal
ideviceinstaller -l
you will get the list of app installed in you iphone device
note: you should install ideviceinstaller package in your system
Apps on a non-jailbroken phone are "sandboxed" so you don't get unfettered access to the filesystem. This means that you can't directly see what other applications are available. Also, just because they're installed does not mean that they are available to the current user. For instance, Safari is always installed but can be disabled in the Parental Controls settings.
The best supported (i.e., in a way that Apple will approve of) way of of doing it might be to check the available URL schemes. For example, if "http:" is supported then Safari is usable; if "mailto:" is available then Mail is usable, etc. Of course, not all applications have URL schemes.
You might want to grab yourself a copy of the Apple iPhone Configuration Utility, which will give you a list of installed apps, plus access to the console output from the iPhone.
Grab the iPhone configuration tool and run this regex on the Export:
[ \t]+<key>CFBundleDisplayName</key>[ \t\r\n]+<string>([A-Za-z \&\-,\!]+)</string>
You can then grab the list of apps nice and easily.
Here's what I did, without jailbreaking. (yes it sounds stupid, but it was simple and worked well for me)
Go to your home screen.
Hit the lock button + home button (takes a screenshot)
Open you folders and do the same.
Do the same for any other pages you have.
All the names of installed apps are now in your pictures folder, just copy the pictures to your computer, and finished!