Começando
Guia completo para setup e configuração inicial do projeto Camera App.
📋 Requisitos de Sistema
Requisitos Mínimos
- Xcode: 16.4 ou superior
- iOS Deployment Target: 18.5 ou superior
- Swift: 5.9+
- macOS: 13.0+ (para rodar Xcode 16.4)
- Device Físico: iPhone ou iPad com iOS 18.5+
⚠️ Importante
A câmera não funciona no Simulator. Você precisa de um dispositivo físico iOS para testar a aplicação.
🚀 Instalação
1. Clone o Repositório
git clone https://github.com/Pedroodelvalle/camera-swift.git
cd camera-swift
2. Abra no Xcode
open Camera.xcodeproj
Ou abra manualmente:
- Abra o Xcode
- File → Open
- Selecione
Camera.xcodeproj
3. Configure o Signing
- Selecione o projeto Camera no navegador
- Vá para Signing & Capabilities
- Selecione seu Team (conta Apple ID)
- Xcode irá gerar automaticamente o provisioning profile
4. Conecte seu Device
- Conecte iPhone/iPad via USB
- Desbloqueie o device
- Confie no computador se solicitado
- Selecione o device no seletor de destinos do Xcode
5. Build e Run
Pressione ⌘ + R ou clique no botão Play.
💡 Dica
Na primeira execução, você precisará aceitar as permissões de câmera, microfone e galeria de fotos.
🔐 Permissões Necessárias
A aplicação requer as seguintes permissões (já configuradas no projeto):
Camera.entitlements
<key>NSCameraUsageDescription</key>
<string>Necessário para gravar vídeos</string>
<key>NSMicrophoneUsageDescription</key>
<string>Necessário para gravar áudio</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Necessário para salvar vídeos gravados</string>
Essas permissões são solicitadas automaticamente na primeira execução.
🏗️ Estrutura do Projeto
Camera/
├── Assets.xcassets/ # Recursos visuais
├── CameraApp.swift # Entry point (@main)
├── ContentView.swift # View principal
├── CameraViewModel.swift # Estado e lógica central
├── CaptureSessionController.swift # Gerenciamento AVFoundation
├── SegmentedRecorder.swift # Gravação de takes
├── CameraPreviewView.swift # Preview UIKit bridge
├── TeleprompterOverlay.swift # UI do teleprompter
├── TeleprompterTextView.swift # Scroll do teleprompter
├── TeleprompterViewModel.swift # Lógica do teleprompter
├── GlassCompat.swift # Componentes UI reutilizáveis
└── Camera.entitlements # Permissões
Camera.xcodeproj/ # Configuração do projeto
🔧 Build Configuration
Target Settings
PRODUCT_NAME: Camera
PRODUCT_BUNDLE_IDENTIFIER: com.pedro.Camera
DEVELOPMENT_TEAM: (seu team ID)
CODE_SIGN_STYLE: Automatic
TARGETED_DEVICE_FAMILY: 1,2 (iPhone e iPad)
IPHONEOS_DEPLOYMENT_TARGET: 18.5
SWIFT_VERSION: 5.9
Capabilities
- Camera: Acesso à câmera frontal e traseira
- Microphone: Gravação de áudio
- Photo Library: Salvamento de vídeos
🧪 Primeira Execução
O que esperar:
- Splash Screen: Tela preta com logo
- Permissões: Sistema irá solicitar 3 permissões
- Aceite todas para funcionamento completo
- Preview da Câmera: Interface principal será exibida
- Câmera Frontal: Inicia com câmera frontal por padrão
Testando Funcionalidades Básicas
🐛 Troubleshooting
Erro: “Privacy-sensitive data”
Problema: App crasha ao acessar câmera
Solução:
- Verifique se as keys estão no
Info.plistouCamera.entitlements - Limpe o build (
⌘ + Shift + K) - Rebuild o projeto
Erro: Signing Failed
Problema: Não consegue fazer build
Solução:
- Xcode → Preferences → Accounts
- Adicione sua Apple ID
- Baixe os certificados
- Selecione seu Team no projeto
Device Não Aparece
Problema: iPhone não aparece no seletor
Solução:
- Reconecte o cabo USB
- Desbloqueie o iPhone
- Confie no computador
- Window → Devices and Simulators
- Verifique se o device aparece
Câmera Preta / Não Funciona
Problema: Preview mostra tela preta
Solução:
- Use device físico (não funciona em simulator)
- Verifique se aceitou as permissões
- Settings → Camera → Permissões
- Delete o app e reinstale
Torch Não Funciona
Problema: Flash não acende
Solução:
- Back Camera: Requer device físico com flash
- Front Camera: Aumenta brilho da tela (sempre funciona)
- Verifique se device está em low power mode
📱 Devices Testados
O projeto foi testado nos seguintes devices:
| Device | iOS | Status |
|---|---|---|
| iPhone 15 Pro | 18.5 | ✅ Totalmente funcional |
| iPhone 14 Pro | 18.5 | ✅ Totalmente funcional |
| iPhone 13 | 18.5 | ✅ Totalmente funcional |
| iPad Pro M2 | 18.5 | ✅ Totalmente funcional |
✅ Compatibilidade
A aplicação funciona em qualquer device iOS 18.5+ com câmera. Recursos como zoom 0.5x e telephoto dependem do hardware disponível.
📚 Próximos Passos
Agora que você tem o projeto rodando:
- Entenda a Arquitetura - Aprenda sobre MVVM e fluxo de dados
- Explore os Componentes - Documentação detalhada de cada módulo
- Veja os Guias - Tutoriais práticos de uso
🆘 Precisa de Ajuda?
- Documentação: Continue lendo as outras seções
- Issues: Abra uma issue no GitHub
- Código: Explore o source code com comentários inline
| ← Voltar para Início | Próximo: Arquitetura → |