cocoapods相关

iOS-SDK制作

2023-04-17  本文已影响0人  Jux2020

可以直接看我优化后的另外一篇文章:
https://www.jianshu.com/p/9572b56590e2

1.首先在xcode新建一个framework


cmd+shift+n.png

2.创建好了之后是这样,然后自己修改需要支持的设备和系统版本


image.png

3.接着创建pod文件,把需要的三方库导入进来。
再把代码文件放进来,然后项目结构如下


image.png

4.创建bundle用来放资源文件


image.png

5.修改Build Setting的一些配置

修改为No 修改为Static Library

6.继续修改bundle的一些配置


修改为iOS
设置为No
路径全部删除

7.项目里需要用的的资源添加进bundle里面


image.png
  1. frameworkbundleEdit SchemeRunInfoBuild Configuration 都修改为 Release
    image.png

把需要暴露的头文件拖到Public 下面

image.png

分别run一下,让Products文件夹下的这两个由红色变成黑色,这就是我们最终需要的东西

image.png

Show in Finder获得

image.png

.bundle文件放入.framework里面,里面的nib文件和一些不需要的资源文件可以删除掉,不影响使用,因为bundle里面已经有了

image.png

创建一个文件夹,新建一个.podSpec文件 把framework文件也放进来

image.png

.podSpec这个里面按照自己的需求写,注意依赖的三方库bundle的路径

 Pod::Spec.new do |spec|
    spec.name         = 'TestSDK'
    spec.version      = '1.0'
    #spec.license      = { :type => 'BSD' }
    spec.homepage     = '111'
    spec.authors      = { 'xxx' => 'xxx.com' }
    spec.summary      = 'TestSDK'
    spec.source       = {:git => 'https://xxx.com'}
    spec.ios.deployment_target =  '11.0'
    #spec.source_files = 'TestSDK/**/*.{h,m}'
    spec.xcconfig = { 'CLANG_MODULES_AUTOLINK' => 'YES' }
    spec.requires_arc  = true
    spec.static_framework = true
    spec.vendored_frameworks = 'TestSDK.framework'
    spec.resource = "TestSDK.framework/TestSDKResource.bundle"

    spec.dependency 'AFNetworking'
    spec.dependency 'MJRefresh'
    spec.dependency 'WebViewJavascriptBridge'
    spec.dependency 'Masonry'
    spec.dependency 'YYKit'
    spec.dependency 'DZNEmptyDataSet'
    spec.dependency 'FMDB'
    spec.dependency 'IQKeyboardManager'
    spec.dependency 'KLCPopup'
    spec.dependency 'SocketRocket'
    spec.dependency 'VTMagic'
    spec.dependency 'IJKMediaFramework'

 end

最后把这个文件夹放入需要引入SDK的项目根目录下,修改Podfile,添加

pod 'TestSDK' , :path => 'TestSDK'

然后再pod install即可,到此SDK就引入完成了。

其他注意点:

[NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"TestSDKResource" withExtension:@"bundle"]];
image.png

参考文章:

IOS开发SDK(.FRAMEWORK静态库,.BUNDLE资源文件,脚本打包SDK和.BUNDLE)
https://www.freesion.com/article/3001905534
IOS SDK制作
https://www.jianshu.com/p/e8f4684fa9aa
https://www.jianshu.com/p/6536ef96add6
https://www.jianshu.com/p/88022bb5d4fb
https://www.jianshu.com/p/f5dcca0ee4bb
https://www.jianshu.com/p/ed65aed59fd1
https://www.jianshu.com/p/62abd9ab0407

上一篇下一篇

猜你喜欢

热点阅读