# Uncomment the next line to define a global platform for your project platform :ios, '13.0' source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git' target 'YuMi' do use_frameworks! #pag动画 pod 'libpag' pod 'Bugly' # 滑动标签栏 pod 'JXCategoryView' pod 'JXPagingView/Pager' #模型转化 pod 'MJExtension', '3.4.2' #图片加载 pod 'SDWebImage', '5.21.3' # pod 'SDWebImageWebPCoder' 用于加载 webP pod 'FLAnimatedImage' pod 'SDWebImageFLPlugin' # 对FLAnimatedImage和SDWebImage的桥接 pod 'AFNetworking' #文字自动滚动 pod 'MarqueeLabel' pod 'YYText' pod 'Masonry' #输入 pod 'SZTextView' #头饰显示 pod 'YYWebImage' #轮播图 pod 'SDCycleScrollView' pod 'ReactiveObjC' pod 'MBProgressHUD' pod 'FFPopup' #下拉刷新控件 pod 'MJRefresh', '3.7.9' pod 'IQKeyboardManager' pod 'TZImagePickerController' #TRTC pod 'TXLiteAVSDK_TRTC' #vap礼物动画 pod 'QGVAPlayer' #上传音乐 pod 'CocoaAsyncSocket',:modular_headers => true #声网 pod 'SSKeychain' pod 'Base64' #pop动画 pod 'pop' #云信 pod 'NIMSDK_LITE', '~> 10.9.40' pod 'GKCycleScrollView' pod 'SVGAPlayer' pod 'ZLCollectionViewFlowLayout' pod 'TABAnimated' pod 'YuMi',:path=>'yum' pod 'QCloudCOSXML' pod 'TYCyclePagerView' pod 'SnapKit', '~> 5.0' end post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf-with-dsym' config.build_settings['ENABLE_BITCODE'] = 'NO' xcconfig_path = config.base_configuration_reference.real_path xcconfig = File.read(xcconfig_path) xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR") File.open(xcconfig_path, "w") { |file| file << xcconfig_mod } end end end # 🔧 自动修复 SVGAPlayer 的 OSAtomic 导入问题 # 原因: SVGAPlayer 2.5.7 的 Svga.pbobjc.m 使用旧版 protoc 生成, # 代码中使用了 OSAtomicCompareAndSwapPtrBarrier 但未导入头文件 svga_pbobjc_path = 'Pods/SVGAPlayer/Source/pbobjc/Svga.pbobjc.m' if File.exist?(svga_pbobjc_path) text = File.read(svga_pbobjc_path) # 检查是否已经包含 OSAtomic 导入 unless text.include?('#import ') # 在 #endif 后的第一个空行位置插入导入语句 new_text = text.sub( /(#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0\n#endif\n)/, "\\1\n#import \n" ) File.write(svga_pbobjc_path, new_text) puts "✅ [自动修复] SVGAPlayer OSAtomic 导入问题已解决" else puts "✓ [检查通过] SVGAPlayer OSAtomic 导入已存在" end else puts "⚠️ [警告] 未找到 SVGAPlayer pbobjc 文件,跳过修复" end end