ByteTrack-SDK-IOS 的接入方式
1. 使用 CocoaPods 安装 SDK(推荐)
在您项目工程(.xcodeproj)文件同目录下打开 Podfile 文件,添加 pod 'bytetrack' 命令,如下:
执行安装命令
pod install
然后就可以直接使用了。
如果您已经安装了 bytetrackSDK,并想要更新到最新版本,在 Podfile 文件夹下使用以下命令:
pod update
如果您在自己的 pod 中无法搜索到该库,则可以尝试以下方法:
- 首先移除本地缓存的索引文件,如下命令:
rm ~/Library/Caches/CocoaPods/search_index.json
- 然后更新本地的库到最新。如下命令:
pod repo update
2. 手动导入 SDK
1,将所需的 bytetrack.framework 拷贝或拖拽到工程所在文件夹下,左侧目录选中工程名,在 Build Phases-> Link Binary With Libaries 中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择 bytetrack.framework 添加到工程中,如下图:
如果您在 Build Phases-> Link Binary With Libaries 里面已经自动引入了 bytetrack.framework,则忽略此步。
2,由于 SDK 使用了一些图片资源,需要在您的工程中引入这些资源,否则 SDK 不能正常使用。添加方法:- 选中工程名,在右键菜单中选择 Add Files to “工程名”…- 从 bytetrack.framework 文件中选择 Bytetrack.bundle 文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中,添加后的效果如下:
3,在 TARGETS->Build Settings->Other Linker Flags (选择 ALL 视图)中添加 -ObjC,O 和 C 请大写,符号“-”请勿忽略,如下图:
注意:无论您的工程是 Swift 项目还是 Objective-C 项目,对于自动配置或手动配置,Objective-C 和 Swift 导入 SDK 的方式一致。区别是 Swift 项目需要创建桥接头文件,在该文件中 #import <Bytetrack/BytesTrack.h>
即可使用。
开始使用
第一步 - 配置权限
打开 info.plist 文件,点击加号添加 App Transport Security Settings,类型选择字典,再往该字典中添加一个 Allow Arbitrary Loads 元素,同时设为 YES。
由于该 SDK 使用到了相册和相机,所以需要申请权限,在 info.plist 文件中添加 Privacy - Photo Library Usage Description 和 Privacy - Camera Usage Description 两项并添加相应的描述,如下图:
第二步 - 申请 appKey 和 appID
您需要获取 ByteTrack 的 APP_ID 和 APP_KEY,这些信息可以注册商户账号之后,登录商户中台,从 设置 -> 信使设置 -> api 管理
中获取到。这两个信息,会在下述接口中使用到。
第三步 - 初始化 bytetrack
在 AppDelegate 入口方法中初始化 SDK,同时也可以在此处设置 SDK 默认语言,用户 ID 等,也可以后续设置。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Bytetrack initMessengerWithApiKey:<Your iOS API Key> forAppId:<Your App ID> withPrivateServerURL:<Your ServerURL>];//初始化SDK
return YES;
}
Your App ID:
表示您的商户在 ByTeTrack 系统中的应用 ID;Your iOS API Key:
表示您的商户在 ByteTrack 系统中的应用密钥;Your ServerURL:
选填,私有化部署地址,如果您不是私有化部署,请填 nil; 提示: 此时,您就可以正常使用 ByteTrack 的功能。
常见问题
1. 聊天页面键盘出现异常,页面偏移
检查 App 中是否用到了会影响全局键盘处理的模块,如果是这种情况,需要做屏蔽。典型的比如第三方键盘库 IQKeyboardManager,请全局添加以下屏蔽代码
[[IQKeyboardManager sharedManager].disabledDistanceHandlingClasses addObject:NSClassFromString(@"UTrackerChatController")];
[[IQKeyboardManager sharedManager].disabledToolbarClasses addObject:NSClassFromString(@"UTrackerChatController")];
[[IQKeyboardManager sharedManager].disabledTouchResignedClasses addObject:NSClassFromString(@"UTrackerChatController")];
或者在调用 SDK 之前设置
[[IQKeyboardManager sharedManager] setEnable:NO];
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setShouldResignOnTouchOutside:NO];
2. 在发送图片时,相册显示的名称是英文的
在您工程的 PROJECT>Info>Localizations 中添加中文简体语言,如下图:
技术支持
除此之外,我们通过使用指南,为您提供了更加详细的使用说明。
如果您遇到了使用问题,或者你想咨询有经验的开发者,可以加入我们的技术交流群:
- QQ交流群:530947468