去掉kiwi.framework

This commit is contained in:
Caleb
2026-03-03 11:10:19 +08:00
parent 5020a6afc4
commit cfc6007c59
12 changed files with 248 additions and 40 deletions

View File

@@ -4,6 +4,7 @@
//
#import "AVHomeViewController.h"
#import <Kiwi/Kiwi.h>
#import "SCLivePusherViewController.h"
#import "SCLiveVideoPlayerViewController.h"
#import "SCVodVideoPlayerViewController.h"
@@ -37,8 +38,13 @@ static NSString * const kLiveListAPIURL = @"http://rtmp.sellycloud.io:8089/live/
const char *kiwiAppkey = "5XTXUZ/aqOwfjA4zQkY7VpjcNBucWxmNGY4vFNhwSMKWkn2WK383dbNgI+96Y+ttSPMFzqhu8fxP5SiCK5+/6cGrBQQt8pDQAOi3EN4Z6lzkC2cJ5mfjBVi4ZpFASG9e3divF5UqLG6sTmFI3eCuJxy9/kHXPSSkKWJe1MnBMQETpf4FRDVuR9d/LzXKQgA9PsjRbPRLx4f3h0TU2P4GEfv1c70FvkdwpqirQt9ik2hAhKuj0vJY60g+yYhGY19a07vBTW4MprN53RnSH8bCs79NNbWyzsg2++t+sKdZP1WPGeOho/xpsQRP8yWCXIOOdvdjiE3YXVltBgmPnA6gOjFS97WVlBAQ1mJE7rQi+/5hhfTuJlWoBH6000SRe7dc5EA0WGQX9U1Aj96ahBQhyHTrHJySmJ/hRMYMudqByF6K4PtrwZ8zugTjtx1dyLPOonZDlTu7hPAIcUfuaQ9xS3Phbq8lP67EYDsr3pkWuwL6AjrPjFwNmi0P1g+hV1ZQUmDQVGhNHmF3cE9Pd5ZOS10/fwaXYGRhcq9PlUSmcbU3scLtrBlzpOslyjlQ6W57EudCrvvJU3mimfs1A2y7cjpnLlJN1CWh6dQAaGcwSG2QA8+88qmlMH1t627fItTgHYrP1DkExpAr2dqgYDvsICJnHaRSBMe608GrPbFaECutRz5y3BEtQKcVKdgA1e6W4TFnxs5HqGrzc8iHPOOKGf8zHWEXkITPBKEiA86Nz46pDrqM9FKx4upPijn4Dahj8pd7yWTUIdHBT8X39Vm3/TSV5xT/lTinmv8rhBieb/2SQamTjVQ22VFq3nQ1h4TxUYTEc0nSjqcz54fWf1cyBy7uh82q1weKXUAJ8vG9W05vmt3/aDZ9+C8cWm53AQ90xgDvW7M1mZveuyfof2qrPsXTpj+jhpDkJgm6qJsvV5ClmGth8gvCM0rHjSIwxhYDZaIDK5TkFWjwLltt+YhhYLKketwuTHdlO/hCxrsFzlXHhXGVRC+kgXusfQUrHIm1WjW9o9EqasHg9ufUgg7cMO/9FRZhJ+Xdw9erprYDvu84Da9jL6NUUOSNIGTCJ/s29Lz4SIwCVG2lzm2UhD6E9ipGfG9gc6e/2vt1emOsP3/ipHVJf16r/9S4+dGKIjPX6QcHIIL2AMu2Je07nPmEoz7KaeOShox4bG3puMQdkdQo6kRIFpUzwUty+4EWqHmyPHGkGGGfI8gj0EreiZwgVJmBQ/8S5wlK+iUp+TVeoXo=";
[SellyCloudManager.sharedInstance startWithVHost:V_HOST appName:APP_ID];
//
[SellyCloudManager setKiwiAppKey:kiwiAppkey name:"123"];
// Kiwi SDK
[Kiwi Init:kiwiAppkey];
char ip[40] = {0};
char port[40] = {0};
[Kiwi ServerToLocal:"123" :ip :sizeof(ip) :port :sizeof(port)];
NSString *proxyAddress = [NSString stringWithFormat:@"http://%s:%s", ip, port];
[SellyCloudManager setProxyAddress:proxyAddress];
// userId: user + 3 (001-999)
NSInteger randomNum = arc4random_uniform(999) + 1; // 1-999

View File

@@ -0,0 +1,87 @@
#import <Foundation/Foundation.h>
typedef void(^KiwiInitListener)(int result);
@interface Kiwi : NSObject
/**
* @breif 初始化接口不需要重复调用接口。会访问网络不要放在UI线程中
* @param appkey 控制台获取的appkey
* @return 0表示成功非0表示失败请咨询Kiwi开发人员
*/
+(int) Init:(const char *)appkey;
/**
* @breif 初始化接口不需要重复调用接口。会访问网络不要放在UI线程中
* @param appkey 控制台获取的appkey
* @param callback 执行结果回调
* @return 0表示成功非0表示失败请咨询Kiwi开发人员
*/
+(int) InitWithListener:(const char *)appkey :(KiwiInitListener)callback;
/**
* @breif 转化接口将rs标识转换为本地访问。不会访问网络不会卡顿
* @param name 控制台配置的防护目标rs标识
* @param ip 转换后的ip缓冲区指针
* @param ip_len 转换后的ip缓冲区长度
* @param port 转换后的端口缓冲区指针
* @param port_len 转换后的端口缓冲区长度
* @return 0表示成功非0表示失败请咨询Kiwi开发人员
*/
+(int) ServerToLocal:(const char*)name :(char*)ip :(int)ip_len :(char*)port :(int)port_len;
/**
* @breif 发送日志接口
* @param mtype 用户自定义用于区分不同类型的日志。需要大于1000
* @param data 日志内容
* @return 0表示成功非0表示失败请咨询Kiwi开发人员
*/
+(int) SendLog:(int)mtype :(const char*)data;
/**
* @breif 重启Kiwi本地代理服务器
*/
+(void) RestartAllServer;
/**
* @breif 强制重启某个Kiwi本地代理服务器
*/
+(int) ForceRestartServer:(int)port;
/**
* @breif App切换到前台回调函数
*/
+(int) OnNetworkOn;
/**
* @breif 获取流量信息json格式
* @param result 用户申请的缓冲区用于保存结果数据结果数据为json格式
* @param buf_len 缓冲区长度
*/
+(int) NetworkStat:(char*)result :(int)buf_len;
/**
* @breif DnsEx,高级转化接口,支持多种参数自定义
* @param name 控制台配置的防护目标rs标识
* @param port 转化后的端口
* @param force_tcp 是否强制使用tcp协议1为强制使用此时不受端口号的限制
* @param sndwnd 发送窗口大小,单位字节
* @param rcvwnd 接受窗口大小,单位字节
* @param kc_timer_interva 转化后的端口
* @param if_local 是否监听在本地端口1表示127.0.0.1,0表示0.0.0.0,此时改端口可以被其他机器访问
* @param kc_timer_interva kcp刷新定时器单位毫秒
*/
+(int) DnsEx:(const char*)name :(char*)port :(int)force_tcp :(int)sndwnd :(int)rcvwnd :(int)kc_timer_interva :(int)if_local :(int)specify_port;
/**
* @breif 简单dns可替代ServerToLocal支持自定义端口
* @param name 控制台配置的防护目标rs标识
* @param specify_port 自定义端口0表示默认值此时使用控制台上的配置随机端口或者固定端口 大于0的值表示自定义端口此时将忽视控制台的配置
@return 返回值小于0则表示出错大于0表示端口号
注意:如果指定的端口号被占用,函数不会报错,而会使用随机端口,客户端可以根据返回的端口号和指定的端口号对比,判断指定的端口是否被占用
*/
+(int) SimpleDns:(const char*)name :(int)specify_port;
@end

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Headers/Kiwi.h</key>
<data>
hTshupp5Rb/oKDRBX/LeG7s+pA0=
</data>
<key>Info.plist</key>
<data>
Z29BBEAeYQxWdTwROXsgZtFqCpg=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/Kiwi.h</key>
<dict>
<key>hash</key>
<data>
hTshupp5Rb/oKDRBX/LeG7s+pA0=
</data>
<key>hash2</key>
<data>
yTa1CInHVGfu37Zoev3OoMcTKdAdi+NFOaOaPvGFat8=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>