[!] AFNetworking has been deprecated in favor of Alamofire
从你的 pod install 输出来看,AFNetworking
已经正确下载和集成了,但存在以下几个问题:
1. AFNetworking 被废弃
输出提示:
[!] AFNetworking has been deprecated in favor of Alamofire
解决方案:
尽量将AFNetworking
替换为Alamofire
,这是官方推荐的替代方案。不过,如果你的项目依赖 AFNetworking 而短期内无法替换,可以暂时忽略这个警告,继续使用现有版本。
2. 头文件缺失问题 (AFNetworking/AFNetworking.h file not found)
如果 Pods/Headers/Public/AFNetworking
目录依然不存在,可能是头文件生成出了问题。
解决方法:
强制清理并重新生成:
pod deintegrate pod install --verbose
观察
AFNetworking
是否正确安装。 2. 确认 AFNetworking 的头文件路径:find Pods -name "AFNetworking.h"
如果找到了类似路径,比如:
Pods/AFNetworking/AFNetworking/AFNetworking.h
说明头文件存在,但路径可能未正确配置。
确认 Public 头文件是否生成:
ls Pods/Headers/Public
如果没有
AFNetworking
目录,尝试手动复制头文件:mkdir -p Pods/Headers/Public/AFNetworking cp -R Pods/AFNetworking/AFNetworking/*.h Pods/Headers/Public/AFNetworking/
3. ENABLE_BITCODE 和 CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES 问题
这些警告表明你在 AliyunVideoClient_Entrance
target 中手动覆盖了某些 build 设置,这可能与 CocoaPods 生成的 .xcconfig
文件冲突。
解决方法:
方法 1:使用 $(inherited) 继承设置
在 Xcode ->Build Settings
-> 搜索ENABLE_BITCODE
和CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES
,将其值设置为:$(inherited)
方法 2:移除 build setting 覆盖
在 Xcode ->Build Settings
,找到手动覆盖的设置,直接删除这些行,使用默认配置。方法 3:直接在 Podfile 中修复
在post_install
阶段添加以下代码:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'NO' config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES' end end end
这会自动修复所有 target 的这些设置。
4. 验证 AFNetworking 头文件生成
最终,你可以在 Xcode 项目中, -
Pods
->AFNetworking
->Headers
-Pods/Headers/Public/AFNetworking
检查头文件是否存在。 如果问题依旧,可以考虑手动集成AFNetworking
,但一般来说重新安装或清理缓存可以解决大部分问题。