Различия в доступе к ресурсам между Simulator и Device? - PullRequest
1 голос
/ 07 июня 2010

Есть ли какая-то разница между доступом к ресурсам пакета на симуляторе iPhone и устройством (в моем случае, iPad)?Я могу получить доступ к файлу на первом, но не на последнем.

NSString *filePath = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] bundlePath], @"/AppResources/html/pages/quickHelp.html"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:filePath];
// fileExists == YES in the debugger on both the simulator and the device

NSString *path = [NSString stringWithFormat:@"AppResources/html/pages/%@", contentsFileName];
NSString *pathForURL = [[NSBundle mainBundle] pathForResource:path ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:pathForURL isDirectory:NO];

Приведенный выше код отлично работает в симуляторе, но на устройстве pathForResource: path возвращает nil, поэтому в последней строке выдается исключение 'nil string параметр'.

Я пропустилчто-то очевидное?

edit: Конечно, в приведенном выше @ "quickHelp" передается в contentFileName var.

edit2: если это имеет какое-то значение, в моих настройках сборки "Base SDK"установлено на" iPhone Device 4.0 ", а" Цель развертывания iPhone OS "установлено на" iPhone OS 3.1.3 ".Любые другие настройки, которые могут повлиять?

Ответы [ 2 ]

1 голос
/ 07 июня 2010

Я считаю, что файловая система на iPhone чувствительна к регистру.Проверьте ваши дела с актуальными файлами.

1 голос
/ 07 июня 2010

[игнорировать]
Я заметил начальный символ '/' в вашем * filePath, но в пути * его нет (до AppResources)
[/ игнорировать]

[править]
[[NSBundle mainBundle] pathForResource: @ "quickHelp" ofType: @ "html" inDirectory: @ "AppResources / html / pages"]]
[/ править]

...