Transferring binary data between apps using a URL scheme
One of the limitations of iOS has always been the isolation of apps and the ability to share data between them. Typically, this has been achieved by developing native extensions or using app groups, but the latter work only between your own apps.
So far, we have sent text data between apps, so let's look at how we can use the same techniques to transfer binary data: images, documents, or any file.
How to do it…
In order to transfer a file via a URL, you have to turn it into text. To do this, you need to base64 encode
the binary data into a string:
var fileAsText = Ti.Utils.base64encode(binaryData);
The binaryData
in this case could be a blob, the result of a .toImage()
method of a view, or a binary
file loaded from the filesystem
:
var binaryData = Ti.Filesystem.getFile('photo.png');
Once you have the file converted into a string, it needs to be encoded so that it can be sent via a URL:
var encodedText = encodeURI(fileAsText...