How to hide the applications in iExplorer - iphone

I'm developing one application. When I install my app in iphone and if I connect iphone to PC then all my application data will be accessing from iExplorer. Is there any chance to hide my application in iExplorer?

Your application data will always be visible to the user with the right tools. You should not waste any effort trying to obfuscate or hide it.
If you wish to explicitly enable encryption on certain files, you can look into the data protection APIs offered in the iOS SDK. This will protect user files in the case that their phone or device is stolen. The user must have a passcode set for this to work however.

Related

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/

Can an iOS app have no icon?

Is it possible to create an app that does not appear in the Home screen, and allows another app to grab its resources (sounds, images, etc)?
I want to create a lightweight app (app #1) and upload it to the app store. Then I would like to be able to direct users to download an add-on (app #2) if they want that contains more images and sounds. Then app #1 would read these resources from app #2.
I'm trying to avoid having my own server to serve these images, and just have the App Store handle this for me. I know I can do this on Android, and was wondering if it's possible in iOS as well.
Is it possible to create an app that does not appear in the Home
screen, and allows another app to grab its resources (sounds, images,
etc)?
Not only can you not create an app that's hidden from the user, you also can't access the resources of one app from another. Each app lives in its own sandbox and cannot read (or write) into the sandbox of another app.
I want to create a lightweight app (app #1) and upload it to the app
store. Then I would like to be able to direct users to download an
add-on (app #2) if they want that contains more images and sounds.
Then app #1 would read these resources from app #2.
The normal way to do something like that would be to host the resources you need on a server or just store them inside your app.
I'm trying to avoid having my own server to serve these images, and
just have the App Store handle this for me. I know I can do this on
Android, and was wondering if it's possible in iOS as well.
No, not possible.
If you are able to use the In-App Purchase system, then Apple will host this for you. From the docs, I'm not clear if this is iOS 6 only or is available for older versions (I haven't seen any reason it wouldn't work for older versions, but I haven't tried it).
Note that most iOS 6 specifics are under NDA, so please do not discuss them here until iOS 6 releases. This particular fact is public, however:
https://developer.apple.com/technologies/ios6/
https://developer.apple.com/appstore/in-app-purchase/index.html
https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
No it's not possible. You have to setup an icon and it will be displayed on the iPhone springboard.
No it cannot, why do you need one?
Sadly No in IOS but in android this is possible.
There can exist an app without an icon. But it can still be managed or removed in "Manage Application" under settings.
This is required in scenarios, like say I want this app to alert user when he is going out of region, using GPS in the background. I do not want any icon nor any user interface.

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

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.

Is it possible to access the content(eg. html) loaded into any browser(safari,opera etc.) via another application in iphone or ipad?

I want to make a app,which can read the content which have been loaded into the browser.When users select some region of the webpage,the selected region will be highlighted(think of firebug) and my app will read it,process it,then return the modified content to the browser.Is there a solution for implementing it?If it is practicable,how to implement it with phonegap or any of the other mobile frameworks?
Applications on the iPhone run inside a sandbox. Quote from Apple:
For security reasons, iOS restricts
each application (including its
preferences and data) to a unique
location in the file system. This
restriction is part of the security
feature known as the application's
sandbox . The sandbox is a set of
fine-grained controls limiting an
application's access to files,
preferences, network resources,
hardware, and so on. Each application
has access to the contents of its own
sandbox but cannot access other
applications' sandboxes.
In conclusion:
It's not possible, certainly not without jailbreak.
Apps cannot interact with other applications, unless Apple provides an API to do so.
In this specific case, Apple does not allow this kind of interaction with Safari or Opera.