Open kevinLiang19920403 opened 4 years ago
Pods 里只有二进制么?
Pods 里只有二进制么?
我们不是二进制的pod, 还是源码 举个例子, 假如我在工程里引入三方AFNetworking, 然后 pod install, Build phase->Compile Sources里是没有AFN相关文件的, 在AppDelegate里引用[AFNetworkReachabilityManager sharedManager]; 按照我之前的理解, AFN是源码, 输出的order file里也应该有AFN相关的方法, 但实际上没有. 我们的项目, 除了main函数在主工程, 其他代码都以pod的形式集成, Build phase->Compile Sources里只有main文件, 这种情况应该怎么处理
你是在 AppOrderFiles
函数调用之前使用的 AFN 么
你是在
AppOrderFiles
函数调用之前使用的 AFN 么
AppOrderFiles是在VC里调用的, AFN是在AppDelegate里使用过, 我看了一下主工程的build setting里设置了-fsanitize-coverage=func,trace-pc-guard, pod的工程目录下是没有的, 在podfile里加上下面的代码就可以了 post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| macho_type = config.build_settings['MACH_O_TYPE']
# 将依赖的pod项目的Other C Flags加上’-fsanitize-coverage=func,trace-pc-guard‘选项
config.build_settings['OTHER_CFLAGS'] ||= ['$(inherited)', '-fsanitize-coverage=func,trace-pc-guard']
config.build_settings['OTHER_SWIFT_FLAGS'] ||= ['$(inherited)', '-fsanitize-coverage=func,trace-pc-guard']
#end
end
end end
嗯,文档里有写
我们项目的工程是cocoapod管理, 除了main文件在主工程, 其他文件都分部在pods里, 我把工程配置好后运行, 发现输出的order file文件里只有_main, 这个的原因是什么, 怎么解决呢 是否只有在 Build phase->Compile Sources里的文件才能检测到