测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可 | 自定义 |
发布最后发布 | 2018年3月 |
由Noam Tamim、Oren Melamed、Nilit Danan、Kaltura 开源、Kaltura维护。
注意:Kaltura Player SDK的新版本(V3)将很快提供测试版。新SDK完全原生,并引入了重大性能改进。
如果您计划基于SDK开始新项目,您可能需要等待新版本。
Kaltura player-sdk-native组件可以嵌入到原生应用程序以及混合原生应用程序中(通过标准动态嵌入语法)
关于原生嵌入优势的完整列表,请参阅播放器工具基本使用指南中的原生控件表格。
Kaltura player-sdk-native组件可以嵌入到原生应用程序和混合原生应用程序中
未来的支持将包括
KalturaPlayerSDK可以在几分钟内(如果操作非常快,可能只需几秒钟)添加到任何项目(无论大小)。完全支持CocoaPods。
git clone https://github.com/kaltura/player-sdk-native-ios.git
Finder
的子项目文件夹中找到KALTURAPlayerSDK.xcodeproj
,并将其拖入Xcode的导航器树中。或者,你也可以通过Xcode文件菜单中的添加文件
选项来添加它。请确保只添加KALTURAPlayerSDK.xcodeproj
文件,而不是整个目录。如果同一项目在两个不同的Xcode窗口中打开,你将无法打开它。如果发现无法在库项目中导航,请检查是否在另一个Xcode窗口中打开它。添加子项目后,它应该出现在Xcode的导航器树中的主项目下方。
构建阶段
部分。这里你可以配置KALTURAPlayerSDK
目标,以确保自动构建并将其链接到KALTURAPlayerSDK
库。构建阶段
部分后,打开目标依赖关系
块,并点击加号按钮。在你提供的层次结构中,你应该会看到来自KALTURAPlayerSDK
项目的KALTURAPlayerSDK
目标。选择它,并点击添加
。目标依赖关系
下方找到链接二进制与库
部分,并在此处也点击加号。在列表顶部,应该有由主项目目标生成的静态库libKALTURAPlayerSDK.a
。选择它,并点击添加
。构建设置
中,找到其他链接器标志
行,并添加-ObjC
。** 如果您现在单击构建,您将看到 PlayerSDK 库在主项目应用程序构建之前构建,并且它们是链接在一起的。**
• SystemConfiguration
• QuartzCore
• CoreMedia
• AVFoundation
• AudioToolbox
• AdSupport
• WebKit
• Social
• MediaAccessibility
• libSystem.dylib
• libz.dylib
• libstdc++.dylib
• libstdc++.6.dylib
• libstdc++.6.0.9.dylib
• libxml2.dylib
• libxml2.2.dylib
• libc++.dylib
*如果您正在使用 Xcode 7,请注意将扩展名 "dylib" 改为了 "tbd"。
#import <KALTURAPlayerSDK/KPViewController.h>
@property (retain, nonatomic) KPViewController *player;
- (KPViewController *)player {
if (!_player) {
// Account Params
KPPlayerConfig *config = [[KPPlayerConfig alloc] initWithDomain:@"http://cdnapi.kaltura.com"
uiConfID:@"26698911"
partnerId:@"1831271"];
// Video Entry
config.entryId = @"1_o426d3i4";
// Setting this property will cache the html pages in the limit size
config.cacheSize = 100; // MB
_player = [[KPViewController alloc] initWithConfiguration:config];
}
return _player;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self presentViewController:self.player animated:YES completion:nil];
}
- (KPViewController *)player {
if (!_player) {
// Account Params
KPPlayerConfig *config = [[KPPlayerConfig alloc] initWithDomain:@"http://cdnapi.kaltura.com"
uiConfID:@"26698911"
partnerId:@"1831271"];
// Video Entry
config.entryId = @"1_o426d3i4";
// Setting this property will cache the html pages in the limit size
config.cacheSize = 0.8;
_player = [[KPViewController alloc] initWithConfiguration:config];
}
return _player;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.player.view.frame = (CGRect){0, 0, 320, 180};
[self.player loadPlayerIntoViewController:self];
[self.view addSubview:_player.view];
}
GoogleMobileAds
并将其添加到您的项目中GoogleMobileAds
之外,您还应从: IMA SDK 下载 GoogleInteractiveMediaAds
,如果您打算除了 IMA SDK
之外还使用 Admob,请将 GoogleInteractiveMediaAds-GoogleIMA3ForAdMob 添加到您的项目中,如果您打算仅使用 IMA SDK
,请将 GoogleInteractiveMediaAds-GoogleIMA3 添加到您的项目中。GoogleMobileAds
的所需框架如果您正在使用 Xcode 7,您需要更改启用 Bitcode 选项。(请参阅此 链接)
如果您收到以下输出
WebKit 在 webView:decidePolicyForNavigationAction:request:frame:decisionListener: 代理中丢弃了一个未捕获的异常
您必须配置一个名为 NSAppTransportSecurity 的 Cocoa 键(请参阅此 链接)
除非特定库在适用库路径中指定了不同许可,否则所有 player-sdk-native-ios 代码均采用 AGPLv3 许可发布