[!] 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 目录依然不存在,可能是头文件生成出了问题。

解决方法:

  1. 强制清理并重新生成:

    pod deintegrate
    pod install --verbose
    

    观察 AFNetworking 是否正确安装。 2. 确认 AFNetworking 的头文件路径:

    find Pods -name "AFNetworking.h"
    

    如果找到了类似路径,比如:

    Pods/AFNetworking/AFNetworking/AFNetworking.h
    

    说明头文件存在,但路径可能未正确配置。

  2. 确认 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_BITCODECLANG_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,但一般来说重新安装或清理缓存可以解决大部分问题。