记录一下(刚开始适配iOS11的时候用到的,出处都不记得。。。)
1.podfile iOS11添加下面的内容到Podfile中:
post_install do |installer|
copy_pods_resources_path = "Pods/Target Support Files/Pods-TuanPuBao/Pods-TuanPuBao-resources.sh"
string_to_replace = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"'
assets_compile_with_app_icon_arguments = '--compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${BUILD_DIR}/assetcatalog_generated_info.plist"'
text = File.read(copy_pods_resources_path)
new_contents = text.gsub(string_to_replace, assets_compile_with_app_icon_arguments)
File.open(copy_pods_resources_path, "w") {|file| file.puts new_contents }
end
platform :ios, '8.0'
target ‘项目名称' do
pod 'AFNetworking'
end
2.use_frameworks!/#use_frameworks!
1)swift项目cocoapods 默认 use_frameworks!
use_frameworks! -> dynamic frameworks 方式 -> .framework:
cocoapods 会生成相应的 .frameworks文件(动态链接库:实际内容为 Header + 动态链接库 + 资源文件),使用 dynamic frameworks 来取代 static libraries 方式。
Linked:Pods_xxx.framework包含了其它用pod导入的第三方框架的.framework文件。
2)OC项目cocoapods 默认 #use_frameworks!
#use_frameworks! -> static libraries 方式 -> .a:
生成相应的 .a文件(静态链接库),通过 static libraries 这个方式来管理pod的代码。
Linked:libPods-xxx.a包含了其它用pod导入的第三方框架的.a文件。
3.用cocoapods导入OC框架到swift项目:
(1)#use_frameworks! 必须创建头文件,在头文件里面 #import "AFNetworking.h"
(2)use_frameworks! 如果有头文件,在头文件里面 #import "AFNetworking/AFNetworking.h",其它swift文件中用到不需要再import;如果没有头文件,则在每个需要用到的swift文件里 import AFNetworking。
用cocoapods导入swift框架到swift项目:
(1)必须use_frameworks!
(2)不需要头文件,在需要用到框架的swift文件里 import Alamofire
用cocoapods导入OC框架到OC项目:
(1)#use_frameworks! 在需要用到的文件里 #import "AFNetworking.h";也可以通过pch文件,用法类似swift中的头文件。
(2)use_frameworks! 与(1)类似,用法上没有区别。
4.ReactiveCocoa 不再支持oc 导入要写:
pod 'ReactiveCocoa', :git => 'https://github.com/zhao0/ReactiveCocoa.git', :tag => ‘2.5.2'
5.MWPhotoBrowser 要导入
pod 'MWPhotoBrowser','~>2.1.2’//大于2.1.2版本
pod 'MWPhotoBrowser','2.1.2’//指定2.1.2版本