I want to send updates from server to iOS device without using APNS when application is not active (not even running in background). Any ideas regarding how can I accomplish that? One thing I want to mention is that it's not a web application to which I want to send updates. Is there any free API that could be used to meet my requirement?
Your help will be greatly appreciated. Thanks.
No, there is no such service. If there was one, it would be a service provided by Apple as it would need to run on the system level.
If the app is still running in the background (i.e. not killed), you could use background-app refresh introduced in iOS7 (c.f. this post for an example).
Related
This might be asking for the moon but here goes...
Is it possible to have an iOS app receive data and then forward it all while running in the background?
We're a restaurant currently using an ordering system that uses a main iPad as the till, with a second iPad in the kitchen to receive orders, and another third iPad used by the servers to take orders. Orders are sent to the main till which relays orders to the kitchen.
Works great... Unless someone switches app on the main till iPad to our other (necessary) hosting app, then all hell breaks loose and all orders stop getting sent.
Developer (small team) has told us it's impossible to solve but I have done some digging into recent Apple APIs that allow simple tasks to run in the background and have seen a few promising options, or perhaps it's possible via the External Accessory Framework, or even syncing via iCloud? A question for the more knowledgable than me, but is there currently a workaround to solve this that I could suggest or are they right in that it's currently impossible in iOS?
Yes there are ways to have an app in the background receive data, generally using either:
beginBackgroundTaskWithName:expirationHandler:
or
beginBackgroundTaskWithExpirationHandler:
Take a look at the Background Execution section in the documentation for more info...
This is my very first post on SO!
I'm a beginner iOS developer and I'm looking for a solution for my Swift app.
Is there any way to implement functionality to ask for a server availibilty on a regular basis (e.g. every 5 min) even when the app is not running. That would only require a simple http request so the app would work as a monitoring tool for a specific server. I tried using Background Fetch but it doesn't seem reliable enough since I can't force it to run every 5 minutes.
Is it possible to achieve that in iOS or maybe there are some better ways to implement such monitoring tool?
EDIT:
To partly answer my question I've found this solution that requires the abuse of Apple policy regarding multitasking:
http://yifan.lu/2013/12/17/unlimited-backgrounding-on-ios/
It requires the use of Audio / AirPlay Background Mode, but I can imagine that Apple won't accept such app in the AppStore. Is there any 100% proper way to achieve my goal?
I am in the process of developing a Twitter App on iOS, which will connect Twitter API in every 15 minutes, to Collect some data. I'm really not planing to have any server side script to Collect that data as I want everything inside the app itself.
Any idea on how to keep the app Running in Background?
Thanks.
You can follow the Apple's guideline before proceeding to create such background jobs. If it fits with all such requirements then you can go ahead. Follow this link for further details:
https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html
I want to write a feature in my app that checks local data daily (at a specified time eg. 12:00pm), and alert if needed. Really, I want something kind of like setTimeout() in Node.js.
Does Trigger.io's API give me a way to 'background' a small check, or fire an event at a specific time? Something via the OS,so that the app doesn't have to be running all the time?
I've searched through the API, but might be using the wrong terminology (as a non-mobile dev).
This isn't something currently supported, mainly because its difficult to provide a consistent experience across Android and iOS.
A common solution to this kind of problem is to have the check performed on a remote server, then use a push notification to notify the user if required. (see http://docs.trigger.io/en/v1.4/partners/parse.html#partner-parse)
The reason doing this on the device is difficult is that on iOS you cannot just run code in the background, it is possible to send a notification to the user at a specific time but this notification has to be set in advance.
I am looking for ways where my RESTful web service can let my iPad app know to update its cached data when the server's data has been updated. The server is running on Tomcat & Apache Jersey.
Is this doable? And not using Apple Push Notification (APN)?
There are essentially two options: heartbeat check from the app to the server (on a timer) or something that keeps the line of communication open, such as web sockets. Here is an open source web socket for iOS, but I have not personally experimented with it:
http://code.google.com/p/unitt/wiki/UnittWebSocketClient
I'm not sure why you want to avoid APN, but this really sounds like what it's made for.
If you want to update only when your app is running, there are other options (straight forward polling comes to mind), but if you want the user to be notified even when the application isn't running, there isn't really any other Apple approved way to do it.
Can reverse the design around and make your device a client and pull data from a REST service at a regular interval?? With all the support one gets from REST, it might be helpful to know you will have complete control of when data is being pulled by the device from server and exactly the data that might goto device.
I'm curious to know your thoughts, Thanks.
I'll be building a web-syncing iOS application soon, and we're going to use RestKit. Take a look, it might be a big help.