iCloud for web application - ios

Has Apple provided public API for web applications?
I want to build an application which will be similar to dropbox.
I want the user to be able to manage files and edit them from their devices (iphone/ipad/mac) and from website (any browser based) too.
Is this possible now to see the list of files using iCloud API?
Thanks.

As I just stumbled across this thread while searching for a solution for iCloud contacts in my web-app, I just wanted to add that nowadays CloudKit JS seems promising for this use case. It's a bit unfortunate it needs an app on its side, but it's still better than nothing :)
Can I use iCloud API in web application?

No, Apple only provides APIs that can be used within native apps on iOS or OS X devices. There's no documented API that could be used for a browser-based interface to a user's iCloud account (some API apparently exists, since Apple uses it, but third parties do not have access).

Related

iOS inter-app communication

I am wondering what is considered the most secure way of two apps exchanging data within Cocoa Touch env.
I am very much new in iOS development and swift development and I am just looking to explore another part of the OS capabilities.
I read about App Groups sharing a location (directory) where files can be exchanged but also about URL schemas between apps to share data.
Are there any other ways of inter-app data exchange? And which is considered the most secure one?
It depends on what you consider secure, but the iOS Keychain may fit your needs. The iOS Keychain is password protected and can be accessed by other applications that you authorize.
Take a look at the official Keychain Services Programming Guide and this article explain how it works.

Access DropBox or Google Drive API from a Web app

Apologies if this is a rubbish question, but it's something I've never had to give much thought and I'm short on time. I have a Web App which is required to run offline and on iOS. This Web App has a lot of content consisting mainly of videos. One solution we are thinking of is to utilise DropBox's or Google Drive's API's to download the content and access it.
The main issue with this is whether you can access a native app (DropBox or Google Drive) from a browser or Web App. Does anyone know if this is possible?
Ideas so far are:
Access Drop Box or Google Drive native app from a web app (not sure if this is possible and is the current question)
Wrap up the web app to make it a hybrid native app using something like Phone Gap (this is plan B but will have its own issues)
Convert to a Google Chrome App to get improved access to Google Drive API (not sure how this would function on iOS)
Start from scratch and build a native iOS app (a longer term solution)
Thanks
Chris
Late, but maybe helpful: www.cloudrail.com
It's a useful Javascript library to access the Dropbox and Google Drive API
We ended up making a hybrid app using PhoneGap for iOS.

Is there a single "analytics/marketing" SDK solution for mobile apps?

I hope this is not off topic for StackOverflow since it is not just software development related but also marketing. But I guess this problem is something we developers are all confronted to.
To monitor and market our iOS app, we use a bunch of third party SDKs:
Google Analytics to understand what's happening
a push notification system (e.g. Urban Airship)
a "smart" review prompting engine (e.g. Apptentive)
a testing / crash reporting system (e.g. Testflight)
should you want to run app installs ads, you also need the FB SDK, an SDK to track Twitter conversions, etc.
you may also want to track where other installs come from via something like Tapstream.
So we are already running more than 6 3rd party SDKs in our app, and it does not feel right:
each of them will do some kind of hand shake every time the app is opened
it's as many potential issues
each of them will have a different web interface
Is there a way to optimise all this, i.e. to have just one SDK doing most things? Or does someone know of a lib to wrap all this stuff under one lib for instance?
There is no getting around a few of these. If you want to talk with FaceBook, Twitter, etc. You will need their SDK no matter the 3rd party SDK you choose.
You could actually write your own setup to track and deal with everything, but there are those that have done it before.
For example, Parse will do:
Analytics
push notifications
a "smart" review prompting engine (you can do this yourself by reviewing the analytics)
crash reporting system
it also uses FB SDK, Twitter SDK already to help with user logins where users my want to use their credentials from their sites on your app
user login
cloud database
You could technically throw an "event" into the analytics to track how many folks are using your app that was installed from x store. However, this would require a different version of your app for each store. Sounds like an interesting idea none the less. Tapstreme and others are basically marketing though, not really something required to do something specific. You will need an SDK if they are tracking something specific themselves.
one web interface
There are multiple systems built like this. they are called BaaS or Backend as a Service.
Hope this helps, Cheers

How did Google Music for iOS access data from another iOS App?

Today I downloaded the new Google Music app for iOS and it immediately had me signed in already. I assume they accomplished this using one of the other Google Apps on my phone. To keep this appropriate for StackOverflow, here's the question, specific and objective:
How (technically) can an app (like Google Music) authenticate a user using data from another app (like Google Search or Google Chrome)? I was under the impression that apps in iOS were entirely sand boxed.
I'm very curious in finding a technical explanation for this, so if someone could recommend a way to rephrase or retag the question, please feel free to edit or migrate.
iOS Keychain can be shared with your other apps via access groups, see this for example.

Enable direct transfer from iWork apps to my app

I am investigating the possibilities of making an app that can handle iWork's apps documents (Pages, Numbers, Keynote). I have made the app and have registered the Document types, but this only gets me as far as supporting Open In from other apps that implements the UIDocumentInteractionController.
As far as I have been able to gather - The only possibility available currently is to implement a WebDAV service, and using it to sync the documents.
Filesharing from pages
Another possibility is to transfer using iTunes
Sharing using iTunes
My conclusion: no direct transfer.
None of these options appeal to me, but the most reasonable is to implement a WebDAV service, like DropBox.
So, my question is - Does anyone have experience with enabling document transfers, in a direct manner - If so, how. If not, am I correct in saying that the WebDAV path is feasible?
Thanks.
Direct app-to-app transfer will not work if the other app(s) do not cooperate with you. You would have to get Apple to offer an "Open In…" command in their iWork apps that uses UIDocumentInteractionController to make it work.

Resources