“`html

2025 最新 Swift 相機功能開發教學 📷

隨著智慧型手機的普及,相機功能變得越來越重要。Swift 是一種用於 iOS 和 macOS 的程式語言,能夠讓開發者輕鬆開發出相機功能的應用程式。本文將介紹如何使用 Swift 來開發相機功能,並提供完整的實作範例與最佳實踐,助你輕鬆開發自己的相機應用程式。

步驟一:設定 Xcode 專案

首先,你需要在你的 Xcode 專案中加入 AVFoundation 框架。可以在專案的 General 標籤下的 Frameworks, Libraries, and Embedded Content 區域中添加。

步驟二:配置 AVCaptureSession

接下來,創建一個 AVCaptureSession 物件,這將用於捕獲和編輯音訊及視頻。

步驟三:添加 AVCaptureDevice

然後,設置一個 AVCaptureDevice 物件,這是從設備中獲取視頻流的關鍵。

步驟四:設置預覽層

最後,使用 AVCaptureVideoPreviewLayer 來顯示視頻畫面。

完整 Swift 範例

import UIKit
import AVFoundation

class CameraViewController: UIViewController {
    let captureSession = AVCaptureSession()
    var previewLayer: AVCaptureVideoPreviewLayer!

    override func viewDidLoad() {
        super.viewDidLoad()
        setupCamera()
    }

    func setupCamera() {
        guard let captureDevice = AVCaptureDevice.default(for: .video) else { return }
        do {
            let input = try AVCaptureDeviceInput(device: captureDevice)
            captureSession.addInput(input)

            previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
            previewLayer.frame = view.layer.bounds
            previewLayer.videoGravity = .resizeAspectFill
            view.layer.addSublayer(previewLayer)

            captureSession.startRunning()
        } catch {
            print("Error setting up camera: \(error)")
        }
    }
}

這段程式碼將幫助你快速建立一個簡單的相機應用。進一步的錯誤處理和功能擴展將使你的應用更為健全。

錯誤排除

  • 無法訪問相機:確保你的應用有相機的權限。在 Info.plist 中添加 NSCameraUsageDescription 鍵。
  • 畫面不顯示:檢查 AVCaptureVideoPreviewLayer 的配置,確保它已正確地添加到視圖層級。

延伸應用

你可以進一步擴展此功能,讓應用支援拍照、錄影、或是即時處理影像,例如加入濾鏡或實現 QR 碼掃描功能。

Swift 相機功能使用 📷

Q&A(常見問題解答)

1. 如何在 Swift 中請求相機使用權限?

Info.plist 中添加 NSCameraUsageDescription 鍵,並提供使用說明文字。

2. 如何在相機應用中實現拍照功能?

可以使用 AVCapturePhotoOutput 來實現拍照功能,並將捕獲的影像保存到相冊中。

3. 如何處理相機預覽的方向問題?

可以根據設備方向調整 AVCaptureVideoPreviewLayerconnectionvideoOrientation 屬性。

“`

Categorized in:

Tagged in:

,