where to store data in Cocoa app? - objective-c

I hope to migrate one of my windows app to mac.
As we know, on vista/win7, there are public data directories that one app can add, save and delete data files without RAC permission.
Are there same directories on Mac/Cocoa?
or
I can store the data to any directory without any problem and any permission?
Welcome any comment

These are the 3 you can write to:
~/Library/Application Support/app-identifier
~/Library/app-identifier
~/Library/Caches/app-identifier
(replace app-identifer with your app identifier)
More info here under "File-System Usage Requirements for the Mac App Store"

You can, by default, unless you enable sand-boxing, write to any directory the user has access to. Generally though, Cocoa apps store data in the user's home directory in ~/Library/Application Support/<your-app-name>

Related

I can't access or edit many folders?

Is there some easy way to permanently allow myself full access to all folders and files? I am the only user on a freshly formatted PC, and every answer I could find online seemed to be per folder and a one time solution.
An example of not being able to open a folder is the WindowsApps Folder in my D: Drive.
‪C:\Program Files\WindowsApps is a restricted folder used for the Windows Store apps. It's designed that way as a security feature to limit the access windows store apps have to your Windows OS. Not all apps on the Windows store are audited and checked to confirm their legitimacy. The folder is purposely designed to act as a little island separated from your user profile and sensitive data. You can gain ownership of it though...
You already found it by enabling show hidden items, so you can go to the folders properties > security > Advanced > Change > [enter your username] > check the box to 'Replace owner on subcontainers and objects' on the next screen. You should now have access to that folder.

Replacing a empty dropbox's (fresh install) folder with a previously (uptodate) dropbox folder. Is it possible?

I am about to install Maverick and before I do that I am going to reformat my macbook air. I use dropbox and have about 15gb of (small) files on it (mainly documents/ebooks).
My question is: Is it possible to backup my Dropbox folder now, reformat my SSD and and install dropbox again. After wish I replace the dropbox folder with my backup without getting Dropbox confused (It might think it are new files? So dropbox could upload them or/and download the same files again).
Does anyone got any experience with this?
It's fine to do this - I have done it myself, but not on OSX.
The Dropbox client will index the files that it finds on your computer and compare them to the ones which are already in your account (on the server). I believe that it uses some kind of hash function to do this - the client creates a small hash value for each file and then this value is compared to the value on the server. If the value is the same then the client assumes that the file is the same and it does not need to be re-uploaded. However, if you have thousands of files, this can take some time.
Source: https://www.dropbox.com/help/1941/en - "The application will index the files and see that they are the same files in your account."
If you want to do it, when you install Dropbox again, you should sign-in to your account, let it create the Dropbox folder and then click "Pause Syncing" so that it doesn't start downloading everything. Then you should copy the backed-up Dropbox files into the new Dropbox folder and resume syncing.

How to access system properties from a Tomcat app deployed on Cloudbees?

I want to run a Tomcat app in Cloudbees. This app accesses some private and confidential properties from the file system. How could I access a file system on Cloudbees? Please note that it should be highly protected, e.g. 700 or similar.
Regards,
Marco
RUN#Cloud platform don't provide a persistent (nor distributed) filesystem. So you can't use it to as canonical store for those files, but need to use an external file store to match your security requirements, and copy them as application is starting (or lazy-load) to java.io.temp directory. As files are stored on RUN#Cloud there is no security issue as your server instance is fully isolated, and files will be deleted after application undeployed/passivated
So you can use Amazon S3 or comparable to store files
Another option is for you to attach properties to the RUN#Cloud instance as configuration parameters, and access them as System properties. See http://wiki.cloudbees.com/bin/view/RUN/Configuration+Parameters
If they data is modest in size - you could consider using properties - using the CLI you can set them using
bees config:set propertyName=value
you can then access that as a System property (for example) in your application. The properties themselves are stored encrypted by cloudbees.
I've actually moved to OpenShift since then and I solved the problem. Thank you for your answers

How to force Air app html-based to open with admin privileges?

I need the app open with admin privileges always in mac, windows e ubuntu. Is there a way to specify this in the XML description file?
I needed this permission to write to the database. I discovered that it is right to point to the temporary directory that is created in the user system folder, instead of pointing to the installation folder.

removing a file from root folder in cocoa mac osx

Using removeItemAtPath ho to remove a file in root folder?
is there a way to get the user enter root password and then cocoa deletes the file
any ideas
You need to use Authorization Services for this. See the Authorization Services Guide for full information on how to escalate privileges correctly.