
TAVMagicUIKit.framework(SDK) 、TAVMagicUIKit.bundle(UIKit 界面需要的 icon 切图)。TAVMagicUIKit.framework 和 TAVMagicUIKit.bundle 添加进工程目录。pod 'TAVMagicUIKit', :podspec => "https://mediacloud-76607.gzc.vod.tencent-cloud.com/TAVMagic/iOS/Release/1.6.2.0/TAVMagicUIKit.podspec"# TAVMagicUIKit依赖 TencentEffect_Edit美颜库 & TAVMagic核心SDKpod 'TencentEffect_Edit', :podspec => 'https://mediacloud-76607.gzc.vod.tencent-cloud.com/TencentEffect/iOS/edit/4.1.0.4/TencentEffect_Edit.podspec'pod 'TAVMagic',:podspec => 'https://mediacloud-76607.gzc.vod.tencent-cloud.com/TAVMagic/iOS/Release/latest/TAVMagic.podspec'
pod install 安装依赖。resource 拷贝拖入到 app 项目工程中。//如果仅仅是为了触发下载或更新license,而不关心鉴权结果,则第4个参数传入null。[TELicenseCheck setTELicense:<#licenseUrl#> key:<#licenseKey#> completion:^(NSInteger authresult, NSString * _Nonnull errorMsg) {if (authresult == TELicenseCheckOk) {//鉴权成功} else {//鉴权失败}}];
TAVMagicUIKIT.framework 包含了剪辑界面所有 UI 并公开了相册选择器控件和编辑控制器控件相关 API,内部依赖了 TAVMagicSDK。TAVMagicUIKIT.framework 的相册选择器,弹出相册并监听选择相册资源的回调。#import <TAVMagicUIKit/TAVAlbumPickerController.h>#import <TAVMagicUIKit/TAVAlbumAuthorizer.h>#import <TAVMagicUIKit/TAVAlbumPickerFactory.h>// 申请相册权限[TAVAlbumAuthorizer checkAlbumAuthorize:^(PHAuthorizationStatus status) {// 弹出相册选择器[self showPickerVC];}];// 弹出相册选择器- (void)showPickerVC{TAVAlbumPickerOptions *options = [TAVAlbumPickerFactory defaultAlbumPickerOptions];TAVAlbumPickerController *pickerController = [[TAVAlbumPickerController alloc] initWithOptions:options];pickerController.modalPresentationStyle = UIModalPresentationFullScreen;pickerController.pickerDelegate = self;[self presentViewController:pickerController animated:YES completion:nil];}
#pragma mark - TAVAlbumPickerControllerDelegate- (void)albumPickerController:(TAVAlbumPickerController *)pickerController didFinishPickingAlbumAssets:(NSArray<TAVAlbumAsset*> *)albumAssets{// 获取albumAssets资源的路径,添加进TAVMagic SDKdispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{NSMutableArray *resources = [NSMutableArray array];for (TAVAlbumAsset *mediaItem in albumAssets) {TAVAlbumResource *resource;if (mediaItem.mediaType == TAVAlbumAssetTypeVideo) {resource = [self videoResourceWithPHAsset:mediaItem.asset];} else if (mediaItem.mediaType == TAVAlbumAssetTypeImage) {resource = [self imageResourceWithPHAsset:mediaItem.asset];}[resources addObject:resource];}dispatch_async(dispatch_get_main_queue(), ^{[self gotoPreviewControllerWithResource:resources];[pickerController dismissViewControllerAnimated:YES completion:nil];});});}
- (void)gotoPreviewControllerWithResource:(NSArray<TAVAlbumResource *> *)resources {TAVEditorPreviewController *previewVC = [[TAVEditorPreviewController alloc] initWithAssetPath:nil resources:resources];self.materialProvider.prepareEditor = nil;[self configPreviewContrller:previewVC];[self.navigationController pushViewController:previewVC animated:YES];}
文档反馈