近来随着公司项目开发的深入,项目的规范也就越来越高了,为了更加方便的管理自定义静态库与pods之间的联系,好好的研究了一番。
1.首先就是创建一个静态库,命名为Mark(这个随便你自己怎么定义)。
2.创建一个实例工程,(也就是你需要开发的工程 或者是你已经创建好了的)。
3.书写pod file文件。(非常关键,因为格式有时候会造成很多的坑)
workspace ‘MarkSpace’//需要生成workspace的名称
xcodeproj ‘Mark/Mark.xcodeproj'//静态库的名称
xcodeproj ‘MarkDemo/MarkDemo.xcodeproj'//实例工程名称
target :Mark do//静态库需要引入的三方库
platform :ios, '7.0'
pod 'AFNetworking'
xcodeproj ‘Mark/Mark.xcodeproj'
end
target :MarkDemo do//实例工程需要引入的三方库
platform :ios, '7.0'
pod 'AFNetworking'
xcodeproj ‘MarkDemo/MarkDemo.xcodeproj'
end
4.0执行pod install。(确保你的podfile文件,静态工程文件,和你的demo在同一工程目录下)
执行成功之后我的目录是这样的。
5.将自定义的静态库引入到主工程目录中去。
首先在Build Phases/Link Binary with Libraries中自定义的静态库添加进来。添加完成后我的是这样的。
下一步就是将静态库的目录引用进来,在主工程的Target/Build Settings /User Header SearchPaths中添加$(BUILT_PRODUCTS_DIR),并且选择递归引用 也就是(recursive)。
好的。这样就大功告成了。你就可以随便的在工程中引用三方库和你自定义的静态库中的文件了。
结语:
现在多工程联编已经是企业级应用的必备了,不断可以灵活的应用自己的静态库,也能随时的更新pods提供的三方库,让项目管理起来非常的方便。
附:pod install 加载慢的问题
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
出现[!] Unable to find a pod with name matching `Af' 错误时,解决方案如下:
http://stackoverflow.com/questions/21342574/cocoapods-error-to-install-search-pods
网友评论
Certain kinds of targets require a host target. A host target is a "parent" target which embeds a "child" target. These are example types of targets that need a host target:
- Framework
- App Extension
- Watch OS 1 Extension
- Messages Extension (except when used with a Messages Application)知道怎么改吗
Unable to find host target(s) for LS-Mark. Please add the host targets for the embedded targets to the Podfile.
Certain kinds of targets require a host target. A host target is a "parent" target which embeds a "child" target. These are example types of targets that need a host target:
- Framework
- App Extension
- Watch OS 1 Extension
- Messages Extension (except when used with a Messages Application)知道怎么改吗