Should it be possible to fetch iOS bookmarks with iCloud? - objective-c

It's seems that there is a Jailbroken way to fetch them, but now using iCloud for instance, is there any a new way to get them ?
I saw nothing reading the documentation, but I may have missed something.

I suppose you mean Safari's bookmarks? That's not possible without jailbreaking. Each app (or group of apps by the same publisher) has its own container directory in iCloud, there's no way to get at another app's data.

Related

tracking folder visited by user on osx

I want to make a simple cocoa application to keep track of all folder visited by me.
I searched related document , but i am not able to find a single clue.
What is the first step to achieve it?
where should i start?
Is there any notification generated when user click on folder?
Is there any history maintained by operating system which i should read?.
You're going to want to use the FSEvents API.
Your app will not be sandbox capable.

Titanium: Best place for storing secret files

Since i cant play an audio file from a DB blob, i have to write it as a file, before i can play it.
Looking at the documentation, my choices are:
Ti.Filesystem.applicationDataDirectory
Ti.Filesystem.tempDirectory
Ti.Filesystem.externalStorageDirectory
Ti.Filesystem.applicationCacheDirectory
Considering that i want my file to be secret, so no other app can see that file, what is my best option?
EDIT: So the issue is more with Android, i'm afraid that any file browser will be able to find the file.
I'm assuming you're building for android, because ios data are sandboxed and not readily accessible by default (until ios8). Rather than hiding them, just encode them using base64encode(). And then you can decode when accessing the file with base64decode().
With that said, I've never had to use it. So, I don't have an example. But you can read about it in the api doc.
Hope that helps.
You haven't mentioned if you are building an app for iOS or Android. For example Ti.Filesystem.externalStorageDirectory is available only for Android (SD card).
Anyway if you want to save an audio file, you should save it in <Application_Home>/Documents ,so you should use Ti.Filesystem.applicationDataDirectory. Don't forgot to set up a remoteBackup flag see http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.Filesystem.File-property-remoteBackup
Also have a look at iOS Data Storage Guidelines for more details
https://developer.apple.com/icloud/documentation/data-storage/index.html
*If you want to save an audio file only because you need to play it ,but you don't need to store it in a fileSystem then is better to use Ti.Filesystem.tempDirectory

Detect when a document has been uploaded or modified in iCloud on iOS app

I am looking for a simple way to detect if a document has been uploaded or modified in iCloud.
The solution I have found for the moment is to poll at given interval the /private/var/Mobile Doc... folder relative to the application and containing iCloud docs, and see if a new document has a recent modified date.
It basically works, but I would like to know if there is some kind of NSNotification, as it is for example in CoreData+iCloud, or if there are other ways I don't know.
Thanks.
A NSMetaDataQuery might be what you are looking for. Have a look at the Standford iOS videos (available at iTunes U). The NSMetaDataQuery is used in the Core Data and iCloud-Sessions to monitor the content of an iCloud directory for changes.

How do you store data remotely in an iOS app?

I have an app that relies on some key value pairs where the value could change at a point in the future due to 3rd party api. The app is only useful when connected to the internet by the way. If any values change I don't want issue a new version of the app - I would rather that these values were pulled from a webservice/static xml file on my server. I would only need to pull these if I encountered an error.
Is there a standard way to do this or should I just roll my own?
EDIT: I'm not so interested in a server side technology - I think a flat file will suffice. What I'm interested in is what format should the flat file should be and how to cache it into my application once I get an error.
try redis, high-performance key-value store. used by some of the big cloud players, like cloudfoundry. Have a look at http://redis.io/. Objective-c client is available at http://redis.io/clients.
I figured out the best way for my use scenario:
I setup a json file on S3 which required authentication. I then used AWS for Objective C to authenticate so I could access that file.
I decided that I only needed to update the local info when the applicationDidBecomeActive in the App Delegate. I then got the json async and on success I then checked a version number in the json and if outdated wrote the changes to NSUSerDefaults (which are then used through the app.) If there was an error getting the json file I just continued as I would already have the previous set of NSUserDefaults that would do the job until the user next made the app active.
This solution worked best for me as it's simple to maintain and should easily handle the load even if my app were popular.
Have you considered using iCloud? It has support for key value pairs. More info here: http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/iCloud/iCloud.html

Get droplet path without making app document based

I have a fairly straightforward question about using droplets for my mac application. My app is not a document based app.
Is there any way to get the path of the item that was dropped? How would I go about implementing this if that was the case? I have looked into this, and it doesn't look like I can do droplets at all without making my app document based, which I really don't want to do.
Thanks ahead of time!
You don't have to use NSDocument at all to make a droplet. Just include CFBundleDocumentTypes in your Info.plist (see Storing Document Types Information in the Application's Property List for details) and implement application:openFile: in your app delegate (there are variants of this method for multiple files etc.).