📷 Camera App

Começando

Guia completo para setup e configuração inicial do projeto Camera App.


📋 Requisitos de Sistema

Requisitos Mínimos

⚠️ 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:

3. Configure o Signing

  1. Selecione o projeto Camera no navegador
  2. Vá para Signing & Capabilities
  3. Selecione seu Team (conta Apple ID)
  4. Xcode irá gerar automaticamente o provisioning profile

4. Conecte seu Device

  1. Conecte iPhone/iPad via USB
  2. Desbloqueie o device
  3. Confie no computador se solicitado
  4. 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


🧪 Primeira Execução

O que esperar:

  1. Splash Screen: Tela preta com logo
  2. Permissões: Sistema irá solicitar 3 permissões
    • Aceite todas para funcionamento completo
  3. Preview da Câmera: Interface principal será exibida
  4. Câmera Frontal: Inicia com câmera frontal por padrão

Testando Funcionalidades Básicas

**✓ Gravação Simples** 1. Toque no botão vermelho circular 2. Grave alguns segundos 3. Toque novamente para parar 4. Thumbnail aparecerá na parte inferior **✓ Visualizar Take** 1. Toque no thumbnail 2. Vídeo será reproduzido em tela cheia 3. Feche com "Fechar" **✓ Finalizar Vídeo** 1. Toque em "Próximo" (botão verde) 2. Vídeo será salvo na galeria 3. Abra o app Fotos para visualizar

🐛 Troubleshooting

Erro: “Privacy-sensitive data”

Problema: App crasha ao acessar câmera

Solução:

Erro: Signing Failed

Problema: Não consegue fazer build

Solução:

  1. Xcode → Preferences → Accounts
  2. Adicione sua Apple ID
  3. Baixe os certificados
  4. Selecione seu Team no projeto

Device Não Aparece

Problema: iPhone não aparece no seletor

Solução:

  1. Reconecte o cabo USB
  2. Desbloqueie o iPhone
  3. Confie no computador
  4. Window → Devices and Simulators
  5. Verifique se o device aparece

Câmera Preta / Não Funciona

Problema: Preview mostra tela preta

Solução:

Torch Não Funciona

Problema: Flash não acende

Solução:


📱 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:

  1. Entenda a Arquitetura - Aprenda sobre MVVM e fluxo de dados
  2. Explore os Componentes - Documentação detalhada de cada módulo
  3. Veja os Guias - Tutoriais práticos de uso

🆘 Precisa de Ajuda?


← Voltar para Início Próximo: Arquitetura →