You need to enable JavaScript to run this app.
导航
SDK 集成指引
最近更新时间:2024.11.08 16:13:01首次发布时间:2022.01.19 10:43:47
复制全文
我的收藏
有用
有用
无用
无用

环境要求

  • iOS 11.0 及以上系统版本的设备
  • 使用 Objective-C 开发语言
  • VePhone.framework 为 Dynamic Library,且只支持真机运行,不支持模拟器

说明:本文档中涉及编译器的示例图参考 Xcode 13.4 版本。

引入 SDK

下载 vePhoneSDK 压缩包后,解压得到 VePhone.framework 和 VolcEngineRTC.framework 文件夹。手动将 VePhone.framework 和 VolcEngineRTC.framework 拖入目标工程,选择如下:

工程配置

  1. 添加 VePhone.framework、VolcEngineRTC.framework:

  1. 修改 Build Settings 设置:

第一步:

第二步:

权限声明

在 info.plist 文件中配置“相机、麦克风、定位”相关使用权限说明:

字段描述
Privacy - Camera Usage Description允许访问使用“相机”功能权限
Privacy - Microphone Usage Description允许访问使用“麦克风”功能权限
Privacy - Location When In Use Usage Description允许访问使用“定位”功能权限

快速开始

获取临时鉴权密钥

  1. 登录火山引擎控制台,点击页面右上角用户信息,选择账号 > API访问密钥,获取火山引擎账号对应的原始 Access Key ID(ak)和 Secret Access Key(sk)。

  2. 参考调用 获取临时密钥(STS) 文档,获取用于临时鉴权密钥。

初始化 SDK

调用 initWithAccountId 接口,初始化 VePhoneManager 配置:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 初始化SDK,设置全局配置信息
    // accountId:火山引擎账号ID
    // 建议在程序一启动的时候就调用
    [[VePhoneManager sharedInstance] initWithAccountId: accountId];
}

创建 VePhoneManager 实例

配置 VePhoneConfigObject 配置参数,然后调用 startWithConfig: configObj 接口,启动云机实例:

// 设置回调代理
[VePhoneManager sharedInstance].delegate = self;
// 设置容器视图
[VePhoneManager sharedInstance].containerView = self.containerView;
// 配置参数
VePhoneConfigObject *configObj = [VePhoneConfigObject new];
configObj.ak = @"";
configObj.sk = @"";
configObj.token = @"";
configObj.podId = @"";
configObj.userId = @"";
configObj.productId = @"";
// 启动云手机
[[VePhoneManager sharedInstance] startWithConfig: configObj];

#pragma mark - VePhoneManagerDelegate
- (void)phoneManager:(VePhoneManager *)manager startSucceedResult:(NSInteger)streamProfileId reservedId:(NSString *)reservedId extra:(NSDictionary *)extra
{
    // 启动成功,收到首帧画面回调
}

- (void)phoneManager:(VePhoneManager *)manager changedDeviceRotation:(NSInteger)rotation
{
    // 横竖屏方向回调,注意:SDK只负责横竖屏方向回调,不负责横竖屏的旋转,接入时需根据rotation自行处理
}

- (void)phoneManager:(VePhoneManager *)manager onWarning:(VePhoneWarningCode)warnCode
{
    // 警告回调
}

- (void)phoneManager:(VePhoneManager *)manager onError:(VePhoneErrorCode)errCode
{
    // 错误回调
}

说明

更多功能及接口参看 iOS SDK 接口说明