2012-01-18 2 views

ответ

-1

На данный момент только с использованием временных прав.

Вы должны использовать что-то вроде

<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> 
     <array> 
      <string>absolute path to use</string> 
     </array> 
    </dict> 
</plist> 

Я надеюсь, что Apple, будет разъяснено, как это может быть сделано без «временных» решений, поскольку он ломает много много приложений

+0

Привет, я имел в виду, что файлы были добавлены пользователем (открытой панели или перетаскиванием), а не абсолютный путь – Irwan

+0

параметр может быть установлен в положение «/», из-за ошибки в песочнице вы должны указать двойная обратная косая черта «//» (без кавычек) – dafi

+1

Это двойная косая черта, а не двойная обратная косая черта. Прямая косая черта: "/", обратная косая черта: "\". –

3

Чтобы отслеживать файлов, к которым осуществляется доступ пользователь, вы должны создать закладки безопасности для каждого файла, а затем это позволит вашему приложению получать доступ к этим файлам при последующих запусках приложения без получения разрешения каждый раз.

Я сделал этот класс, который завершает сохраняющиеся разрешения, которые вы уже используете, используя открытие файла через NSOpenPanel, а затем вы можете использовать этот класс для доступа к этому файлу в будущем.

https://github.com/leighmcculloch/AppSandboxFileAccess