1

В моем приложении есть звуковой файл, который не воспроизводит iPhone. После проверки других проблем я проверил разрешение файла в терминале.

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

  1. Что это за знак?
  2. Может ли это вызвать проблемы?

РЕДАКТИРОВАТЬ

Спасибо

вот что я получаю:

com.apple.FinderInfo:
00000000  4D 34 41 20 68 6F 6F 6B 00 00 00 00 00 00 00 00  |M4A hook........|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000020

Спасибо Шани

1 ответ1

1

Знак «@» (который не задокументирован на странице руководства для ls) означает, что файл имеет расширенные атрибуты. Вы можете использовать команду xattr -l <filename> чтобы показать их.

Что касается того, как это читать, это представление структуры шестнадцатеричных данных:

struct finder_info {
    char[4] filetype; // x,y coords of top left corner for directories
    char[4] creator; // x,y coords for bottom right corner for directories
    char[2] finder_flags;
    char[2] finder_loc_v;
    char[2] finder_loc_h;
    char[2] opaque1; // Icon ID?

    char[2] scroll_position_v;
    char[2] scroll_position_h;
    char[2] reserved1;
    char[6] opaque_finder_flags
    char[2] reserved2;
    char[2] putAwayFolderID;
};

Чтобы решить вашу проблему, я нашел этот обходной путь:

На рабочем столе используйте Finder, чтобы создать новую пустую папку, и назовите ее Foo.

Удерживая нажатой клавишу выбора, перетащите видеофайлы в папку Foo. Это копирует, а не просто перемещает файлы.

Затем в Терминале введите следующие строки, по одной за раз:

cd ~/Desktop
cp -XR Foo NewFoo
cd NewFoo
ls -@l

Знаки @ исчезли? Можете ли вы открыть файлы сейчас?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .