使用说明
SDK集成准备
注意: 微吼Saas SDK自4.0.0版本之后SDK的输出改为framework(4.0.0之前是以静态库的形式输出),下面是新版本的SDK使用说明以及注意事项。
下载SDK&使用准备
开发环境要求
最低支持iOS版本:iOS 9.0
最低支持iPhone型号:iPhone 5s
支持CPU架构: armv7, arm64 含有i386和x86_64模拟器版本的库文件,推流功能无法在模拟器上工作,播放功能完全支持模拟器。
互动功能:
- 最低支持iOS版本:iOS 9.0
- 最低支持iPhone型号:iPhone 6
- 暂不支持 模拟器环境
工程设置
- 工程中AppDelegate.m 文件名修改为 AppDelegate.mm
- 关闭bitcode 设置
- plist 中 App Transport Security Settings -> Allow Arbitrary Loads 设置为YES
- 注册AppKey [VHallApi registerApp:AppKey SecretKey:AppSecretKey];
- 检查工程 Bundle ID 是否与AppKey对应
- plist中添加相机、麦克风权限
其中VHallInteractive下的framework是互动库,外部是直播库。
使用CocoaPods 引入SDK
v5.x版本: 使用直播功能
pod 'VHLiveSDK'
使用互动功能SDK,包含直播库
pod 'VHLiveSDK_Interactive'
v5.x之前的版本: 使用直播功能
pod 'VHallSDK_Live'
使用互动功能SDK,包含直播库
pod 'VHallSDK_Interactive'
注:由于网络和github原因下载时间比较长,请耐心等待
手动 引入SDK
在TARGET->Embedded Binaries下添加动态库:
如只使用直播,可不添加互动库。
在TARGET->Build Setting下设置依赖库路径
注册应用
使用[VHallApi registerApp: XXXXXX SecretKey:XXXXXX];
注册应用注意:此处SecretKey 是指申请到的 AppSecretKey
如果是微软云用户请使用以下方法注册应用
[VHallApi registerApp: XXXXXX SecretKey:XXXXXX host:@"azure.e.vhall.com"];
如果是腾讯云用户请使用以下方法注册应用
[VHallApi registerApp: XXXXXX SecretKey:XXXXXX host:@"tencent.vhall.com"];
#import <VHLiveSDK/VHallApi.h>
-application: didFinishLaunchingWithOptions: {
…
[VHallApi registerApp: XXXXXX SecretKey:XXXXXX];
// 如只是观看直播、点播可以不登录
// [VHallApi loginWithAccount:DEMO_Setting.account
password:DEMO_Setting.password success:^{
// [weekself showMsg:@"登录成功" afterDelay:1.5];
// } failure:^(NSError * error) {
// VHLog(@"登录失败%@",error);
// }];
…
}
Demo 介绍
1.用VHSDKDemo.xcworkspace 打开工程
2.编译UIModel工程 后会在文件VHSDKDemo.xcworkspace 所在文件夹UIModel中 自动生成编译后的静态库,用于demo使用
其结构为:
其中libs_third 中是依赖第三方代码,如有冲突删除对应的静态库即可 其他文件为 UImodel 输出静态库及头文件直接引用即可实现 直播、点播等功能
3.VHSDKDemo 工程 只负责设置及调用UImodel中的页面
打包上传 App Store 问题
上架报错90080,90087,90209,90125 解决办法
解决办法:TARGETS->Build Phases->点击加号选择New Run Script Phase->然后复制粘贴下面代码
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
if [[ $APP_PATH != *ArchiveIntermediates* ]]; then
exit 0
fi
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
模块的集成流程逻辑
发直播、观看直播、聊天、问答这4个模块的集成流程逻辑如下。
如果需要集成聊天或问答,需要提前服务器端注册用户,用户登陆后才可正常使用