Write to sqlite file from sandbox

My entitlements:
Code Block
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>

Sandbox documentation says:

Note: In the case of a SQLite journal file, beginning
in 10.8.2, journal files, write-ahead logging files, and shared memory files are automatically added to the related items list if you open a SQLite database, so this step is unnecessary.

Computer says: No:
Code Block
dtruss -t open
open("/Users/chris/fff.xdb\0", 0x1000302, 0x1A4) = 15 0
....
open("/Users/chris/fff.xdb-journal\0", 0x1000302, 0x180) = -1 1

The application is Qt5 based c++ and uses the native file-open dialog.
Accessing fff.xdb succeeds, but xdb-journal is rejected when INSERT-ing data

How to tell the sandbox that my "xdb" file is in fact a sqlite database?

What I tried without success:
  1. Search the internet for a proper answer

  2. use sqlite and sqlite3 extension

  3. add sqlite MIME type to Info.plist:

Code Block
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/vnd.sqlite3</string>
<string>application/x-sqlite3</string>
</array>


Computer says: No

Hmmm, weird. If no one else chimes in my advice is that you open a DTS tech support incident so that I, or one of my colleagues, can research this in depth.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Write to sqlite file from sandbox
 
 
Q