把iOS框架变成Cocoapod——我需要新的回购协议吗?它必须构建一个静态库吗?

把iOS框架变成Cocoapod——我需要新的回购协议吗?它必须构建一个静态库吗?,ios,cocoapods,Ios,Cocoapods,我有一个Objective-C项目,它构建了一个iOS框架。它当前位于github上托管的git repo的子文件夹中。我想把iOS框架中的代码作为Cocoapod分发。我有几个具体的问题 首先,我是否需要用框架的代码进行单独的回购 第二,CoCoapod是否总是将我的代码构建到静态库中?如果是这样的话也没关系——静态库很好——但是如果我们从一个框架(最终是一个动态库)切换到一个静态库,我将不得不做出影响其他项目的更改。我更想知道Cocoapods是否有可能构建一个框架,这是一个好主意,还是比它

我有一个Objective-C项目,它构建了一个iOS框架。它当前位于github上托管的git repo的子文件夹中。我想把iOS框架中的代码作为Cocoapod分发。我有几个具体的问题

首先,我是否需要用框架的代码进行单独的回购

第二,CoCoapod是否总是将我的代码构建到静态库中?如果是这样的话也没关系——静态库很好——但是如果我们从一个框架(最终是一个动态库)切换到一个静态库,我将不得不做出影响其他项目的更改。我更想知道Cocoapods是否有可能构建一个框架,这是一个好主意,还是比它的价值更麻烦


谢谢

我会告诉你我在项目中做了什么

git submodule add https://github.com/me/MyFramework
我有一个Objective-C项目,它构建了一个iOS框架

因此,您已经知道如何制作框架。否则我会建议你阅读这些精彩的教程

首先,我是否需要单独进行回购,只需为 框架

为了我的发展

我已经对所有框架/库(共享代码)进行了单独的回购,并将其添加到我的项目中

当我全新克隆我的项目时,我使用以下命令初始化我的子模块:

git submodule update --init --remote
git submodule foreach git checkout master // this only if you wanna the master commit and not be in a detach state
您还可以通过添加以下内容将子模块锁定到单独repo的特定提交、标记或分支

branch = commit|tag|branch 
.gitmodules
文件中

我已经将该框架作为一个框架
Pod
,如下所述:

通过在我的主项目
Podfile
中指定路径作为相对pat
“../my_framework\u pod”

platform :ios, '12.0'

target 'MyMainAwsomeProject' do
  use_frameworks!

  pod 'MyFramework', :path => '../MyFramework'

end
如果您不想将其作为开发pod导入(代码将是只读的),您可以将git repo URI而不是相对路径

第二,CoCoapod是否总是将我的代码构建到静态库中

老实说,我一直认为它是一个静态库。但这是主项目中使用的所有pod的静态库

但它应该是相当无痛的,因为你只需要改变如何使用它。通过将您的框架与您已经使用的所有其他pod一起添加到pod文件中

您只需将其添加到主项目
pod文件
,当您键入
pod安装
时,由
pod
命令创建正确的工作空间


希望能给你展示一个有效而美好的旅程

谢谢你的回复。这很有帮助。