The bundle is read-only. You don’t want to mess around with it for two reasons:
- Code Signing: the signature is verified by against the contents of the bundle; if you mess around with the bundle, you break the signature.
- App Updates: updates work by replacing the entire app bundle with a newly downloaded one; any changes you make will get lost.
Where you should save stuff:
- Documents: if you want it to persist and be backed up
- Library/Caches: if you just want to cache downloaded data, like profile pics; will be auto deleted by the system if it is low on room unless you specify with a special do-not-delete flag.
- tmp: temporary files, deleted when your app is not running
For a full explanation check out File System Programming Guide and QA1719.