Сделать чувствительным к регистру iPhone Simulator при доступе к файлам

#file #ios-simulator #case-sensitive

#файл #ios-симулятор #чувствителен к регистру

Вопрос:

Известно, что при доступе к файлам в симуляторе iPhone регистр символов не имеет значения. Можно ли настроить iPhone Simulator так, чтобы он не игнорировал регистры?

В противном случае я могу сравнить путь к файлу из моего кода с путем к файлу с диска. Тогда какой метод использовать, чтобы получить реальный путь к файлу с правильными регистрами, соответствующими пути к файлу из кода?

Ответ №1:

Я решил с помощью скрипта на этапе сборки:

 echo "list all files in [$FULL_PRODUCT_NAME]"
cd "$CODESIGNING_FOLDER_PATH"
find . -type f > "$CODESIGNING_FOLDER_PATH"/filelist.txt
  

И добавил некоторый код для поиска пути к файлу в filelist.txt:

 BOOL file_found = NO;
for (NSString* file_path in AllFilesList) // AllFilesList keeps list from allfiles.txt
{
    if ([file_path rangeOfString: relPath].location == 2) // 2 because all paths start with './'
    {
        file_found = YES;
        break;
    }
}
if (!file_found)
{
    NSLog (@"!!! ERROR !!! file not found: [%@]", relPath);
    for (NSString* file_path in AllFilesList)
    {
        if ([file_path rangeOfString: relPath options: NSCaseInsensitiveSearch].location == 2)
        {
            NSLog (@"   corresponding file may be: [%@]", relPath);
            break;
        }
    }
}
  

Ответ №2:

Вы сообщили об ошибке в Apple? iPhone simulator должен быть чувствителен к регистру так же, как и устройства.

Комментарии:

1. Apple говорит в документации, что это зависит от файловой системы. Если мы отформатируем объем жесткого диска с учетом регистра системы, симулятор и все другие приложения будут чувствительны к регистру.