AVCapturePhotoOutput - изменения в Xcode 9 Beta 5

Только что установив последнюю версию XCode, которая внесла некоторые изменения в класс AVCapturePhotoOutput, мне интересно, как получить список поддерживаемых режимов флэш-памяти. В предыдущей версии я использовал supportedFlashModes собственность, которая больше не доступна

open var __supportedFlashModes: [NSNumber] { get }

2 ответа

Я думаю, что новый Swifified supportedFlashModes недвижимость планируется, но еще не завершена в бета-версии 5.

open var supportedFlashModes: [AVCaptureDevice.FlashMode] { get }

До того дня, когда мое предположение подтвердится (может быть отрицательным), вы можете использовать __supportedFlashModes, Он не удален, просто переименован.

(Некоторые бета-версии содержат переименование в стадии разработки.)

Вам лучше отправить отчет об ошибке, чтобы Apple знала об этой проблеме.


РЕДАКТИРОВАТЬ Похоже, что iOS 11 SDK/Xcode 9.1 исправил эту проблему, а в примечаниях к выпуску Xcode 9.1 beta сказано:

  • Доступны следующие API AVFoundation:
    • AVCaptureDevice.Format.supportedColorSpaces
    • AVCaptureDevice.supportedFlashModes
    • AVCapturePhotoOutput.availablePhotoPixelFormatTypes
    • AVCapturePhotoOutput.availableRawPhotoPixelFormatTypes
    • AVCapturePhotoSettings.availablePreviewPhotoPixelFormatTypes

Код, который ранее был изменен для использования двойного подчеркивания в качестве обходного пути, должен быть изменен для использования этих общедоступных символов, иначе приложение может быть отклонено App Store.

(Добавлен жирный стиль.)

Команда разработчиков Apple Camera подтверждает, что версия API Swift была случайно исключена из выпуска Xcode 9. До исправления придется использовать __supportedFlashModes

Смотрите здесь: https://forums.developer.apple.com/thread/86810 Кстати, некоторые другие API AVFoundation также затронули.

Другие вопросы по тегам