我正在开发一个私有框架,以便为我们的客户寻找他们的项目,这样他们就可以拖放他们的项目并开始使用。
为避免不必要的库导入引用路径设置和添加到构建设置工作,我提到构建框架以组织可交付物是更好的解决方案,可以满足Watch OS,IPod,Ipad,IPhones的所有。
我想创建一个带有其他第三方使用的pod的通用框架。任何人都可以指导我完成这个过程,如何实现这一目标,使其尺寸紧凑,除了我的界面文件外没有暴露源代码。
结构预期。
MYCustomFramework
然后我想将这个框架添加到My Test项目中,该项目将拥有自己的Pods
MyTestProject.xcworkspace MyTestProject.xcproj MYCustomFramework.framework - 这将编译所有下面的括号内容,因此除了接口之外没有任何源暴露。 {
如何实现这一目标并尽可能缩小尺寸。
答案 0 :(得分:1)
经过各种试验后,我终于按照以下方式开展了这项工作。
1)Pods(Test Project已发布)不能为拥有许多第三方的图书馆提供Pod。 2工作区冲突以及使用哪一个将是乏味的。
2)创建一个测试项目并为该测试项目实现Pods并使用工作区打开它。
3)使用XMPP Framework库并解压缩没有Pod的文件夹和标头。
4)创建一个Cocoa-touch Framework并在不使用Pod的情况下拖动此XMPPFramework文件夹。
5)类似地使用手动过程在My Cocoa-Touch Framework中集成其他库
6)编译我的框架并为(设备和模拟器)生成mycustomframework.framework
7)我可以选择使用LIPO来制作聚合目标,以确保我的框架内所有XMPP和其他第三方库头都是私有的,只有我公开的公共头文件可用于测试项目集成。
8)只需拖动已编译的' .framework'就可以运行我的测试项目。在我的测试项目中存档或拖动库项目,这样也可以调试我的库代码。
答案 1 :(得分:0)
尝试本指南,您还必须将您的规格回购添加到pods回购 https://guides.cocoapods.org/making/private-cocoapods.html
编辑:
我们有一个内部包装的Fabric POD,它只提供了我们从Fabric获得的Fabric.framework(这是在Fabric有一个公共pod之前)这里是我们的pod规范。 因此,在您的仓库中,您可以构建一个.framework并以与Fabric
相同的方式提供它希望这个帮助
{
"name": "InternalFabric",
"version": "1.1.1",
"summary": "Fabric is a 3rd party library that gives us crash analytics.",
"homepage": "https://github.com/myNameHere",
"authors": "myNameHere",
"license": {
"type": "Copyright",
"text": "\n Copyright Acme Inc. 2014\n For internal Acme use only. \n"
},
"platforms": {
"ios": "7.0"
},
"source": {
"git": "https://github.com/ios-yourLibs/Fabric.git"
},
"requires_arc": true,
"default_subspecs": "Core",
"subspecs": [
{
"name": "Core",
"vendored_frameworks": ["Fabric.framework","Crashlytics.framework"]
},
{
"name": "Crashlytics",
"dependencies": {
"Fabric/Core": [
]
},
"vendored_frameworks": "Crashlytics.framework"
}
]
}