Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Info.plist: конфигурация iOS приложения
Info.plist — это XML конфигурационный файл для iOS приложений. Он содержит метаинформацию о приложении и требуемых разрешениях.
Местоположение
ios/Runner/Info.plist
Основная функция
Info.plist определяет:
- Версию приложения — CFBundleVersion
- Разрешения — доступ к камере, микрофону, геолокации
- URL schemes — для deep linking
- Поддерживаемые типы документов
- Ориентация экрана
- Минимальная версия iOS
Структура файла
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>MyApp</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
</dict>
</plist>
Разрешения и Privacy
<key>NSCameraUsageDescription</key>
<string>We need camera to take photos</string>
<key>NSMicrophoneUsageDescription</key>
<string>We need microphone for calls</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need location for nearby places</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>We need access to photos</string>
Deep Linking
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.myapp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
Ориентация экрана
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
Работа в Flutter
Способ 1: Через Xcode
open ios/Runner.xcworkspace
Затем Runner → Target → Info tab
Способ 2: Через permission_handler
import 'package:permission_handler/permission_handler.dart';
if (await Permission.camera.request().isGranted) {
// Камера разрешена
}
Частые ошибки
- Забыли NSCameraUsageDescription — краш при запросе доступа
- Неправильный XML формат — приложение не загружается
- Дублирование ключей — compilation error
Лучшие практики
- Всегда указывайте описание для разрешений
- Используйте semantic versioning
- Редактируйте через Xcode UI
- Проверяйте Info.plist перед бондом
- Используйте permission_handler для запросов в runtime
Примеры обычных конфигураций
Для приложения с камерой:
- NSCameraUsageDescription
- NSPhotoLibraryUsageDescription
Для приложения с геолокацией:
- NSLocationWhenInUseUsageDescription
- NSLocationAlwaysAndWhenInUseUsageDescription
Для социального приложения:
- NSCameraUsageDescription
- NSMicrophoneUsageDescription
- NSPhotoLibraryUsageDescription
- NSContactsUsageDescription
Info.plist — критический файл для iOS. Забывчивость с разрешениями приводит к краху или отклонению App Store.