iOS使用SDK静态库

简介: iOS使用SDK静态库

开发模式研究:

app四种开发模式的优缺点。移动五端合一说了如何让移动五端合一。

如何访问组件的bundle资源。

创建使用SDK静态库具体方案:

创建制作SDK的静态库工程说了如何创建工程,制作SDK静态库已经说了SDK如何写,打包SDK静态库说了如何打包iOS使用SDK静态库。

.framework类型的静态库和.a类型的静态库的优缺点及.framework类型的静态库zip压缩后解压后头文件丢失问题。


Mac电脑如何使用WinRAR。

下面是Demo:

iOS使用SDK静态库Demo.

SDK的Demo。

你已经有了SDK包。那么还差了一个给用户的demo。你不可能把你产生SDK给的工程给用户的,那么你SDK的逻辑都被别人一览无余了。那么需要以你的SDK工程直接快速生成一个测试工程。

1.首先建立一个测试工程。

2.修改工程。我很不喜欢storyboard,文件大笨,打开要很久,难以多个人开发一个页面后合并代码。才用storyboard或xib做的页面的app要比纯用代码写的页面的app要大一倍。所以我去掉了主页面的storyboard,改用代码实现页面。

3.修改主页跳转。

#import "AppDelegate.h"
#import "TSViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [self loadHomePage];
    return YES;
}

- (void)loadHomePage
{
    TSViewController *homePage = [[TSViewController alloc] init];
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:homePage];
    self.window.rootViewController = nav;
    [self.window makeKeyAndVisible];
}

直接把SDK工程测试主页和单元格拷贝到测试SDK的工程中。

4.增加TestSDKSingleObject.h,TSBaseEntity.h,libTestSDK.a(SDK)到测试工程。若你使用的是.framework的包,那需要把除了你需要公开的这连个头文件的其它头文件都删除,然后把这个修改的.framework的包拖到测试工程就可以使用了。看似.framework对使用SDK的人简单的多,少加入几个问天。但是遇到问题要比.a多的多。首先.framework不能用zip压缩传输,其次.framework是.a文件大小的四倍左右,发布.framework的人要保证把不需要公开的头文件删除。所以还是使用.a包好。

5.增加Podfile,执行pod update(pod update --verbose --no-repo-update)加载第三方库。

处理完毕运行工程,其效果和生成SDK的工程一样。而且没有公开你的SDK内部逻辑代码。具体见iOS使用SDK静态库。


目录
相关文章
|
3月前
|
监控 API 计算机视觉
CompreFace:Star6.1k,Github上火爆的轻量化且强大的人脸识别库,api,sdk都支持
CompreFace 是一个在 GitHub 上拥有 6.1k Star 的轻量级人脸识别库,支持 API 和 SDK。它由 Exadel 公司开发,基于深度学习技术,提供高效、灵活的人脸识别解决方案。CompreFace 支持多种模型(如 VGG-Face、OpenFace 和 Facenet),具备多硬件支持、丰富的功能服务(如人脸检测、年龄性别识别等)和便捷的部署方式。适用于安防监控、商业领域和医疗美容等多个场景。
184 4
|
3月前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
113 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
10月前
|
开发工具 iOS开发 计算机视觉
|
9月前
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
|
9月前
|
API 网络安全 开发工具
【Azure Developer - 密钥保管库 】使用 Python Azure SDK 实现从 Azure Key Vault Certificate 中下载证书(PEM文件)
【Azure Developer - 密钥保管库 】使用 Python Azure SDK 实现从 Azure Key Vault Certificate 中下载证书(PEM文件)
|
9月前
|
开发工具 图形学 iOS开发
Unity与IOS⭐Unity接入IOS SDK的流程图
Unity与IOS⭐Unity接入IOS SDK的流程图
|
10月前
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
iOS Objective-C 应用连接Azure Storage时,若不关闭账号的匿名访问,程序能正常运行。但关闭匿名访问后,上传到容器时会出现错误:“Public access is not permitted”。解决方法是将创建容器时的公共访问类型从`AZSContainerPublicAccessTypeContainer`改为`AZSContainerPublicAccessTypeOff`,以确保通过授权请求访问。
122 0
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
|
3月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
242 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
9月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
241 0
|
6月前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
190 1