Habilitar migração automática de dados principais no Sandbox

A migração automática de dados centrais para NSPersistentDocument requer salvamento no local, o que não funcionará em um aplicativo habilitado para sandbox (mesmo com leitura / gravação para arquivos selecionados pelo usuário).

A solução é adicionar os seguintes direitos temporários:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.temporary-exception.files.absolute-path.read-write</key>
<string>/Volumes/</string>
<key>com.apple.security.temporary-exception.files.home-relative-path.read-write</key>
<string>/</string>
</dict>
</plist>

Isso permite que o usuário abra e migre perfeitamente documentos de dados centrais para qualquer lugar do sistema (incluindo volumes montados).

Depois de fazer a migração automática funcionar, registre um bug com a apple para incentivá-los a fornecer uma solução melhor para trabalhar com Core Data em aplicativos em sandbox:

https://bugreport.apple.com