Не удается найти подкаталоги с CFBundleCopyResourceURL - PullRequest
0 голосов
/ 26 февраля 2010

Я работаю в iphone / ipad 3.2 SDK и создал подкаталог с именем "Docs" в каталоге ресурсов по умолчанию "Resources-iPad". Если я помещаю файл «file.pdf» непосредственно в каталог ресурсов и выполняю этот вызов, все работает хорошо:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(),CFSTR("file.pdf"), NULL, NULL);

Если я поместил файл «file.pdf» в подкаталог «Документы» и попытался сделать это в Apple Docs, вызов возвращает NULL:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(),CFSTR("file.pdf"), NULL, CFSTR("Docs");

Что я сделал неправильно?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2010

В итоге я выбрал другой подход:

paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
sharedDocs = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Docs"];
NSString  *filePath = [sharedDocs stringByAppendingPathComponent:fileName];
const UInt8 *pFilepath = (const UInt8 *)[filePath UTF8String];
CFURLRef pdfURL = CFURLCreateFromFileSystemRepresentation (NULL, pFilepath, strlen((const char*)pFilepath), false);
0 голосов
/ 26 февраля 2010

Убедитесь, что подкаталог "Docs" действительно включен в ваше встроенное приложение.

См. путь к ресурсу в проблеме с каталогом (использование вызовов NS * вместо вызовов CF *, но аналогичная проблема)

Вы также можете попробовать разделить имя ("файл") и тип ("pdf"):

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(),CFSTR("file"), CFSTR("pdf"), CFSTR("Docs");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...