git179979506/cocoapods-sled

无法匹配到缓存

Opened this issue · 2 comments

if framework_file_path.directory?

这里是不是写错了,framework_file_path是个文件路径,这个if永远为false,是不是应该用framework_dir_path啊?

这里 framework_file_path 的值为 xxx.framework 的缓存路径,.framework就是一个文件夹
例如:
framework_dir_path 的值: ~/Library/Caches/CocoaPods/Frameworks/Release/KeychainAccess/4.2.2-c0c4f/dynamic_framework/KeychainAccess/Sled-Common-iphoneos
target.product_name 的值: KeychainAccess.framework
framework_file_path 的值: ~/Library/Caches/CocoaPods/Frameworks/Release/KeychainAccess/4.2.2-c0c4f/dynamic_framework/KeychainAccess/Sled-Common-iphoneos/KeychainAccess.framework

之前实践中也发现了有的项目部分库复用不到二进制的情况,由于资源问题一直没排查,目前也没有太多时间排查
您有时间的话,可以将下面这行添加到Gemfile中,cocoapods-sled指向本地,添加一些log进行调试
gem 'cocoapods-sled', :path => '~/Workspace/Pub/cocoapods-sled'

已知正常没有二进制的情况:

  • 本身就是二进制,就不会产生编译产物,比如pod 'Bugly',可以忽略掉 pod 'Bugly', :binary => :ignore
  • 代码不直接参与编译,没有编译产物,比如RN框架中的某些库RCTRequired React,同样可以忽略掉