сверхтвердых ВОПРОС
Вот мой Projet:Как загрузить изображение в каталог, отличный от NSBundle?
Я использую 3000 JPEGs в проекте iPhone. В нормальной ситуации 3000 файлов загружаются в «NSBundle» (инкапсулируются с помощью приложения), а затем загружаются на iPhone. Проблема в том, что приложение составляет около 500 мо.
Так что я хотел бы скопировать изображения в другой каталог (например, «Документы»), чем пучок, а затем УДАЛИТЬ все jpegs из пакета. Моя идея заключается в том, что после первого запуска приложения приложение будет только 2Mo, и следующие запуски будут очень быстрыми.
Моя первая мысль была:
файл в Bundle: путь к файлу в файле назначения Bundle : путь, где я хочу, чтобы поместить файл
if([manager copyItemAtPath:fileInBundle toPath:fileDestination error:&error])
if([manager removeItemAtPath:fileInBundle error:&error])
Из Конечно, я попробовал «moveItemToPath» ^^
Копия работает отлично, если вы копируете снаружи «NSBundle», но удаление невозможно:
NSFilePath = "/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CF5C0ED352/myLovelyApp.app/Main.jpg";
NSUnderlyingError = Error Domain=NSPOSIXErrorDomain Code=1 "Operation could not be completed. Operation not permitted";
Очевидно, что я проверить, если main.jpg существует на '[менеджер fileExistsAtPath: fileInBundle]' и я проверить нестираемую возможность пути: '[менеджер isDeletableFileAtPath: fileInBundle] (НЕТ!)
So после, я проверяю атрибуты POSIX Permission для файла и Directory:
NSDictionary * whatPermissions = [управляющие атрибутыOfItemAtPath: fileInBundle error: & error];
NSLog (@ "Файл POSiX Разрешение:% @", [whatPermissions objectForKey: @ "NSFilePosixPermissions"]);
Я получаю 493 -> Chmod 755 -> read-Write-Exe/read-Exe/read-Exe. Так невозможно удалить или записать файл в этом NSBundle.
Я пытался заставить переключая Атрибут POSIX РАЗРЕШЕНИЯ: [менеджер SetAttributes: разрешение ofItemAtPath: fileInBundle ошибки: & ошибки] // помещает разрешение Posix 511 (CHMOD 777)
Но did'nt Работа.
Вторая идея: Так Xcode здание Окружение было возможно, мое решение с INSTALL флагом РАЗРЕШЕНИЯ:
'и + ш, Go-W, A + хХ'
, но я пробовал много возможность и ничего не работает (может быть, я не нашел хорошего) i Пробовал: 'u + rwx, go + rwx, a + rwx', 'u + rw, go-rw, a + rwX' ...
Но ничего не произошло Я нашел «ALTERNATE_PERMISSIONS_FILES» с «ALTERNATE_MODE», но, похоже, мне нужно заполнить список мой 3000 jpg один за другим в параметрах xcode. И когда я попробовал всего 10 файлов.
Это не сработало. Должен сказать, что я никогда не нахожу учебник или сообщение в блоге по этим темам. Поэтому, если вы знаете один из них. пожалуйста, не стесняйтесь делиться.
В Системном руководстве по созданию XCode нет НИКАКОЙ ПОМОЩИ !!!!
третья идея:
Я попытался изменить целевое назначение: добавить этап копирования файлов в целевой системе. И затем поместите все изображение внутри, но похоже, что он не действует, и файл не загружается на iPhone.
КАК МОЖНО СТАТЬ НАПРАВЛЕНИЕМ ФАЙЛОВ 3000 ИЗОБРАЖЕНИЙ В КАТАЛОГЕ И ТОГДА УДАЛЯТЬ ЭТО.
Вот как iPhone каталоги выглядит следующим образом:
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/myLovelyApp.app/number7_S.png",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/myLovelyApp.app/number8_N.png",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/myLovelyApp.app/number8_S.png",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/myLovelyApp.app/number9_N.png",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/myLovelyApp.app/number9_S.png",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/Documents",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/Library",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/Library/Caches",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/Library/Preferences",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/Library/Preferences/.GlobalPreferences.plist",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/Library/Preferences/com.apple.PeoplePicker.plist",
"private/var/mobile/Applications/4A173D2E-5CFC-4D12-978C-68CG5C0ED245/tmp",
Я хотел бы переместить файл из NSBundle в папку Documents.
СПАСИБО ЗА ПОМОЩЬ
Я склонен думать, что это больше всего ** SUPER LONG QUESTION ** – mvds