Need your help to define design

Dear All,


I need your help to find the best way to design my future iphone application.


The main purpose of my application is to retrieve 10 XML files every hours, and of course analyze XML content and display alert, or notifications. XML files are produced from Microsoft environment and from company network. Estimated users around 50.

My main concern is about the technology to choose to access to XML files.

I investigated the following solutions but I need your feedback to choose the best way to do it.


Solution 1: Use Drop Box
Microsoft Server send files to DropBox through sendtodropbox and my application can connect to DropBox to download files. This solution works but I am not sure about SendToDropbox stability and not confident about SendToDropbox SLA. Other concern, DropBox changed recently API and SDK…


Solution 2: Use OneDrive
Microsoft Server send files to OneDrive through outlook and my application can connect to OneDrive to download files. Main concern, I didn't find example to apply in Swift and it seems that I have to subscribe Microsoft dev license (process not clear for me)


Solution 3: Use Company Sharepoint
Microsoft Server send files to Sharepoint folder through company network and my application can connect to Sharepoint to download files. Main concern is clearly about security, my application need to know user and PWD to connect.


Solution 3: Use RSS Flow
Microsoft server push XML files as a RSS flow, my application has to work as a RSS reader. And user can subscribe easily.
Sounds the best solution but it seems that there is a big architecture to implement…


So, could you please to help me about the best design solution or maybe can you please suggest another way to investigate ?


Many Thanks
Sebastien

The main purpose of my application is to retrieve 10 XML files every hours, and of course analyze XML content and display alert, or notifications.

Before you worry about how to host the files, I think you need to worry about how to analyse them. iOS does not support general purpose periodic execution in the background, so your app won’t be able to start up every hour in order to analyse the files. I generally recommend that folks trying to implement a system like this do the analysis on the server and then send push notifications to the clients based on the client-supplied criteria. This requires a bit of work on the server side but avoids a whole bunch of hassle trying to get background execution working reliably on iOS.

As far as hosting is concerned, one additional option is to use CloudKit and then have the non-Apple server push the data to CloudKit via CloudKit JS. One of CloudKit’s many cool features is push notification integration.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi Quinn


Thanks for your reponse.

I will try your suggestion to use CloudKit.


But I very surprise about your comment "iOS does not support general purpose periodic execution in the background", Do you mean that when my application is running "background" mode is mode efficient ?

In this case what is the main purpose of Background mode ?


Thanks

Sebastien

But I very surprise about your comment "iOS does not support general purpose periodic execution in the background", Do you mean that when my application is running "background" mode is mode efficient ?

No. I meant that an app can’t, in general, tell the system to resume it periodically, or even at some specific time in the future. Executing in the background is possible under various circumstances, but these techniques are all focused around achieving specific user-level features. Hence my comment that iOS does not support general purpose periodic execution in the background.

The doc that HyperNovaSoftware referenced describes the background execution techniques that are available.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

thanks

thanks for your email it's more clear for me.


One question: when I try to connect on dashboard : https://icloud.developer.apple.com/dashboard/

Then I raised an error : No Cloudkit-enabled apps are registered to this apple ID.


Do youo have any idea about how to register ?


Thanks

Sebastien

Need your help to define design
 
 
Q