Prevent an ios app from clossing - ios

I am currently developing an ios app for a localization company. The company provides ipads to all his employees so this new app that i'm developing can keep track of them (in case of an emergency and to know if they are really working).
I already finished the app and everything is working fine but now the problem is that anyone can close the app and "hide" his position from us.
It is possible to do something about this?
Also it is possible to start an app on boot. Something like this but on Ios.
Is there anyway to "lock" the app so it can't be closed and only sent to background?
Thanks
EDIT
I tried with the guided access but the employees also need to use other apps (like safari) to do their work. Not only mine. I tried this and effectively you can't close the app but also you can't access other app. Or am I doing it wrong? I want to allow my app to be in background but not close. Sorry if i did not explain myself well.

Many duplicates of this...
Settings - General - Accessibility - Guided Access.
Turn it on and you can limit what the iPad can do.
You can also stop it from closing apps.

Related

iOS development, Natively open an App in my App

I have a project where I have to open an App like Facebook inside my App.
I know the URL Scheme but it is not what I want. I don't want to left my App and have like a webview but for a native app (Facebook for exemple).
Same behavior than.
Is it possible ?
Thx a lot :-)
No, this is not possible. At least not on a non-jailbroken device (there might be hacks that can be done on a jailbroken device to achieve this that I'm not aware of).
No this is not possible. You cant open another app inside of your current app. You can open an app from within an app but you cant frame that app inside of yours.
Other than the fact that apple has prohibited and not made this available, it also will cause a poor guest experience. The apps are designed to run on the users device, not a smaller screen.
it's impossible to open another app in a running app, but you can open a webapp

Is it possible to 'disable' other apps with an app of my own?

I was wondering if its possible to write an ios app that 'disables' other apps from opening?
For example, when I press the disable button on my app, I cannot open whatsapp for the next 15 minutes.
If that's not possible, could a workaround such as blocking all HTTP requests to a certain URL be possible? or even blocking (or turning off) notifications from certain apps?
I've also been wondering whether or not a security module might disallow such code..
Any help would be much appreciated!
None of the suggestion you made in your question will work on a AppStore app. Since the app is sandboxed it can not interact on the level you want with the system.
Your only possibility is to write an app for jailbroken devices.
There might be private API present as per your need but one thing is clear if you target for Apple AppStore ,it will be rejected due to its policy as aslo said by other person. Moreover ,If you still wana develop it you should go for it and there is Cydia which is a appstore for jail broken phone so you could upload your app and try to sell it off. Hope this info is useful for you.

Is it possible to have a running background app on iOS

This is a strange one, I have a need to create an iOS app that runs in the background on an iOS device, but can not be visible on the Home screen of the device. The app may need to show up in Settings to configure a few options, but it mostly needs to run behind the scenes.
I do not need to publish this app on the app store, it is strictly an enterprise app for my company.
Does anyone know how this kind of behavior might be achieved? Configuration profiles? API's? etc?
Edit: Jailbreaking the device is not really an option for us. We have to keep the devices as they are.
Backgrounding
There are several methods to get permanent background execution:
a) Silent audio which is mentioned by JRG-Developer
b) Usage of beginBackgroundTaskWithExpirationHandler + turning location manager on/off (it will reset remaining time to 600 seconds)
Making app invisible
You can use SBAppTags in Info.plist (take a look at this: How to remove app icon programatically from jail broken iPhone app?)
It will make your icon not visible on Home screen.
I've no idea how you can tackle the not be visible on the home screen criteria, but there are certain services that are allowed to be run in the background continuously, notably:
Background Audio (even silent audio)
While this is indeed very hacky, short of jailbreaking the devices, this may be your best bet.
While it's unlikely / very difficult to get past the review process, in the event for some reason you do need to (attempt) to publish this app to the App Store, some apps are even available on the App Store which take advantage of this hack, such as PasteBot.
You should definitely read their write-up here about getting their app's Cut-and-Paste functionality to work while in the background:
http://tapbots.com/blog/pastebot/pastebot-music-in-background
Another out-of-the-box idea, why not use Android devices instead, which do support multitasking?
Two methods:
Jailbreak. A jailbroken iPhone is essentially a Mac and you can use all Mac UNIX programming tricks - spawn a daemon (you can even ask launchd to do that), or something. You can set up enteprise-wise Cydia source. Refer to saurik's website for a walkthrough and set up an experimental server using Ubuntu (which used apt too)
A non-jailbreak way may be possible, but it will depend on what your app is doing. You can try use enterprise-wise push notifications.
Given that this is impossible to do on non jailbroken phones, I'd suggest the following:
develop a directory app, or a phone list app, something that is specific to your company.
have it connect to a web service once a day to register the device ID (so you know the user has not deleted the app)
tell users they need to keep the app open at all times (and if a user's device does not register one day, send them an email asking them to launch the app).
Now you can send back whatever you want with the app. If they kill it, you'll know the next day when you have a script look at the logs.
If you think this is a terrible idea, it is, but its the best you are going to get on iOS right now.
EDIT: you could send a notification every day - say in the AM - to make sure the user opened the app if it wasn't running.
From my experince, this kind of behaviour cannot be achieved on iOS. When an app enters into background, it is active only for a small particular amount of time. After that, it goes into hybernate state. It stops working. So the behaviour you said can not be achieved without abusing iOS workflow. Thats why some call iOS's multitasking as not true multitasking. Only jailbreaking might help your case. That was for one case. The second one where the app cannot be seen on home screen is again, impossible. It has to be on springboard to run.

ios open app after screen unlock

I'm developing a business app for iOS which will be used by customers in a cafeteria for ordering various products available.
Whenever iPad is screen unlocked by the customer, the custom business app should open up even if the previous customer open a different app.
So basically open this business app after every screen unlock, is it possible to get this done and how?
no it's no. it's the default iOS behavior. Only in a jailbroken iPad you'll manage to do this.
Definitely not.Its not possible and the other thing if you do so user gets irritated by seeing it again and again..As per my knowledge its not possible as well as not a better idea to do it..Think from user perspective..
I think it's not possible to do, not possible to do that scenario

How does an iOS screensaver app work?

A client of mine recently came up with a few apps he came across while browsing online. Specifically, he discovered that there are apps that call themselves 'screensavers', and now he wants me to make him a screensaver app.
The obvious problem is that I don't know of any way to make my app open (displacing whatever is in the background) based on a lack of user input in another app! In fact, I would have sworn that it was completely impossible to do so.
So, to wrap up the question -- is it possible to make such an app, and if so how? Or are those apps really, really, badly labeled?
I just tested 3 of the top "screen-saver" applications on my iPad. None of these can turn themselves on, without the user launching them. They are really badly labeled products. In a non-jailbroken device, launching the screensaver application without user interaction is not possible.
Cydia Screensaver Application for Jailbroken devices.
You're correct -- it isn't possible to open an app with no user interaction with a stock device, although there are jailbroken packages that will complete a task similar to this.
You should explain to your client that these "screensaver" apps usually gimmick the reader into downloading them as if they function as do screen savers on personal computers.

Resources