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: