Enable direct transfer from iWork apps to my app - ios

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.

Related

Intercept iOS Deep Links

I am new to iOS Development and am working on an app concept for a customer. The user experience could be greatly improved if the app was able to intercept a deep link.
This is possible in android since links are not bound to the website but to the app manifest itself. So if I make an app that can receive Amazon links, then the user can choose which app opens those links.
Is this possible on iOS using Apple deep links? I am aware they are more complicated since they require a component on the website itself. Furthermore, the app won't need to receive Amazon links if the Amazon app is installed.
I would attempt this myself but do not have an Apple Developer Account yet and don't want to invest without knowing the answer.
The only universal (deep) links you are able to hear about are those directed to your own domain. You cannot receive an Amazon link, because (unless you are Jeff Bezos in disguise) you don't own the amazon.com domain.

How to establish bidirectional communication between two iOS apps

I have to establish bidirectional communication between my iOS apps. The data that have to be exchanged were text and json. Is it possible with the file sharing feature of app extension? If so, is there a sample that is available to guide through the steps? What are the pre-requisites to create the group id for app group?
You won't be able to speak to another bundle, this is more of an Android behaviour.
Your only way is to use an intermediate server, and that could be a complete book.
What I suggest, is having your files/data stored online, and build both your apps to be able to read and write on that server.

iCloud for web application

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).

Using soundcloud as an audio file serve

I would like to store samples for my iPhone application on soundcloud. This would enable me to package a small binary and have the users download the sounds after installation.
I would make all of the sounds publicly available for download on soundcloud and once inside the app would connect to soundcloud and download the sounds.
Can I use the soundcloud api to do this? The app user would not be signed in to soundcloud. Does this fall outside the terms of use?
Technically, yes, I don't see why this wouldn't be possible. As for Terms of Use, please refer to http://developers.soundcloud.com/docs/api/terms-of-use and maybe https://soundcloud.com/terms-of-use
I personally don't think it's somehow a misuse, but don't take my word for it, verify it yourself.
Yeah, that seems a reasonable use, but just be aware that tracks uploaded on free accounts have a limit of 100 downloads each.

iOS: filesharing without iTunes?

I develop an enterprise application for iOS and the user should be able to add files from the desktop to the application.
I implemented this using filesharing, which works great.
Now this company wants to get rid of iTunes from their machines (which is quite understandable, iTunes is a very invasive process).
The question is, is it still possible to somehow use filesharing without iTunes? maybe with another application?
Or what other way is there to send files to the app (preferrably without the need of an internet connection)
//edit: must work on windows 7 and must not require to install iTunes (there are some other tools that allow access to the iPad filesystem, but they go through drivers installed by iTunes)
You could exchange data via the local wireless network (a connection to the internet is not required, just the iOS device and the Windows computer need to be on the same network).
One option:
You can then create a simple TCP/IP connection over sockets between an iOS app and a Windows application and exchange the data you want.
However you probably need to implement a suitable simple Windows application to do this.
An other, maybe simpler, solution:
You could start a webserver in your iOS-App and show it's IP on the screen. By entering this IP in a browser on the desktop computer you can access websites on the iOS device, which can make documents available for download or receive uploads.
For how to do this, have a look at this question.
There are a number of ways to achieve this, ranging from trivial to sophisticated.
Your question says that you would prefer to avoid an internet connection. Simple solutions may require it - if you want to abstract the difficult parts, you're going to have to let somebody do the dirty work, and that's probably going to be someone(thing) on the internet. Midrange solutions may require a network but not internet connection. A sophisticated solution could probably be whatever you want - but one thing I would say, is that trying to tap into the USB connector is either going to result in a hacktastic or very complicated solution to implement.
One method would be to integrate a third party framework that basically does what your looking for. Look at the Dropbox development kit, for example - allowing Windows (or any platform) users to drop files on their desktops into a shared dropbox, and this can then be read by an iOS application which includes the iOS drobox API.
Another method would be to setup a simple WebDAV server in your office. Host it on a windows box, or a cheap linux box. Give users desktop's access to the share via whatever protocol you want (eg, Windows File Sharing). Then you'd implement a WebDAV client in your app (eg, WTClient) to pull files.
Finally, you could build your own transmission system. A sophisticated example might involve Bonjour and TCP/IP, a simpler-but-custom solution may involve a simple JSON web service running off a local (or remote) server.
I have suggestion but that will require the Internet. I would suggest you to use the DropBox API in the windows and iPhone both. It's awesome to use and very simple for file sharing.
Now a days everybody have dropbox account and have files in it to share. So that shouldn't cost anything other than a bit of implementation (this learning can also be used in other file sharing applications).
Here are some guidance:
iOS
REST API
You can add apps and documents to USB-connected devices with the Apple Configurator
You may use a simple Ftp server installed on PC, so you can connect to server from Ios and upload/download files from iOS to PC....
http://developer.apple.com/library/ios/#documentation/Networking/Conceptual/CFNetwork/CFFTPTasks/CFFTPTasks.html
All work is done by Pc and your app will use IP (Intranet or Internet) of PC to share all files.
From Ios you can read all files in FTP server and work with them.
I use the FileBrowser app to get access to network shares over WiFi and will allow you to load supported files to the device. The company responsible is creating an API to allow you to do this within your own app: https://twitter.com/#!/Stratospherix/status/193114857271336960

Resources