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
Related
I'd like to create a very simple app to block internet access for certain app's between 7PM and 7AM on my iPhone.
However the mobile phone & imessage should stay usable, so it's no airplane modus.
This is to have some "no notification time" and don't see for example new e-mails coming in.
Would this be possible to archieve? Can an app control this behaviour for other app's?
Thanks a lot in advance for your answers!
Best regards,
Koen
No, you cannot do that. Apple "sandboxes" apps so that they have no ability to change the behavior of other apps.
If you did find a way to do that, Apple would reject your app, and probably quickly update the OS to prevent whatever method you used to do it.
EDIT:
You might be able to find a way to do this for jailbroken devices, but obviously those can't be released to the App store.
First thing, Such Apps are not allowed to be published on App Store.
I have worked with private-apis, and i know that this is not possible with only private apis. This may be possible once after you jailbreak your phone + using private libs, and may be you can create tweaks for jailbreak to achieve this functionality.
i want to release an iPad application to app store. in my application on dashboard there are six buttons and on tap they open six different screens. but among them one is disabled. User is unable to do anything with it. We just kept it in the app as we are going to implement that feature in the next version. is that fine? is there any chances that my app will get reject by app store guys because of this.
Any help would be appreciated. Thanks in advance.
As per my experience Apple will Reject your application saying that either you have to implement that functionality or you have to remove that disabled button.
it may be rejected based on AppStore Review Guideline:
2.9 Apps that are "demo", "trial", or "test" versions will be rejected. Beta Apps may only be submitted through TestFlight and must follow the TestFlight guidelines
it would be more reasonable to implement the functionality; or not showing such features which are not part of the application at all – none of those cases cause rejection.
Why don't you add like a simple alertView saying « This feature will be available in the next version, stay tuned ! » or something ? Would be a way better UX overall. Either that, or hide the button for now. Either way, don't let a button do nothing with no user feedback, this sounds terrible.
I don't think app store will reject your iPad application. You should use rather web view control(in Android) in which you can show any web page or something like that, if you want to provide the facility that after installation of your app, uses can get the updated details from it. Just give it a thought.
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.
At the office where I work we are trying to deploy iPads. We now have 16 iPads all around the company and we use Sophos Mobile Control to monitor and manage those iPads.
However, we found out this is not enough. Everytime I come across an iPad given to an employee, he changed things to the device or the software. Although we do have policies for that, the iPads are NOT covered by a BYOD-policy that would allow such things within the company.
After a lot of desperate tries to disable all sorts of things in the iPad (from trying to disable the Settings App to using a "sort-of" kiosk mode using one app) all solutions I came to didn't fit the whole need for clean devices.
When trying to disable settings, you just can't disable everything, and things like backgrounds etc. are still changeable by the employee. We don't want this since this iPad is kind of like a trademark for our company - we try to maintain a steady pace in developing and implementing new devices and ways to get the job done - and clients must in no way be confronted by the unprofessional backgrounds set on the iPads by those employees.
Whenever things are possible, people will try to (ab)use it. I want to have the control over what apps, settings and web pages can be viewed/used by the iPad users. Is there any way for us to change the way iPads secure themselves?
I think you are after the "apple enterprise configurator"
http://www.apple.com/support/ipad/enterprise/
I've not used it but it sounds like the (only) option.
http://help.apple.com/configurator/mac/1.2/
Have you tried the guided access? I'm not that familiar with it, so it could be that this is just meant for temporary sessions. I understand the employees have longer access to the device?
iOS: About Guided Access
Another option would be to lock the iPad into a single app. I wrote a blog post on this earlier. It worked for iOS 5, not sure about iOS 6. Though the enterprise configuratior might have options to enable this too:
Kiosk mode for iOS
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.