build.ios.md 2.6 KB

安装

  • npm install

    cap打包IOS

    一、打包web资源到www文件内

  • ng build live-app --output-path=www //默认打包 或者 ionic build --project=live-app

  • 打包好后把所有文件放到www子目录

  • npx cap sync ios如果修改了web代码,执行同步到iOS包

    二、添加 IOS 平台

  • npx cap add ios 添加 IOS 平台

### 三、mac设备打开xcode

- npx cap open ios
- cd ios/App 运行 pod install 安装依赖

### 四、修改配置文件

  • ios/App/App/Info.plist文件添加权限 NSCameraUsageDescription 我们需要访问您的相机以进行拍照和视频直播推流。 NSPhotoLibraryUsageDescription 我们需要访问您的照片库以选择照片。 NSPhotoLibraryAddUsageDescription 我们需要保存照片到您的相册。
  • ios/App/App/AppDelegate.swift添加以下函数检查相机麦克风等权限

    import UIKit
    import Capacitor
    import AVFoundation
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
        var window: UIWindow?
    
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            // Override point for customization after application launch.
            // 请求相机和麦克风权限
            requestCameraPermission()
            requestMicrophonePermission()
            return true
        }
        // 请求相机权限
        func requestCameraPermission() {
            AVCaptureDevice.requestAccess(for: .video) { granted in
                DispatchQueue.main.async {
                    if granted {
                        print("相机权限已授予")
                    } else {
                        print("相机权限被拒绝")
                    }
                }
            }
        }
    
        // 请求麦克风权限
        func requestMicrophonePermission() {
            AVAudioSession.sharedInstance().requestRecordPermission { granted in
                DispatchQueue.main.async {
                    if granted {
                        print("麦克风权限已授予")
                    } else {
                        print("麦克风权限被拒绝")
                    }
                }
            }
        }
        ***
        ***
    }    
    

### 五、xcode打开调试 open ios/App/App.xcworkspace