常见错误及解决方法
错误类型 | 错误描述 | 解决方法 |
证书问题 | 在真机运行时,出现“dyld: Library not loaded: @rpath/AFnetworking.framework/AFNetworking”以及“code signature invalid”等错误。 | 1. 删除钥匙串中过期的证书。 2. 去手机的描述文件将信任的证书删掉。 3. 重新更换一个测试的Bundle Identifier。 |
头文件未声明 | 编译时出现“Use of undeclared identifier”等错误,如“kSecFormatUnknown”“kSecItemPemArmour”等未声明,以及“Implicit declaration of function ‘SecItemExport’ is invalid in C99”。 | 将AFSecurityPolicy.m文件中的相关头文件替换为以下内容: #if !defined(__IPHONE_OS_VERSION_MIN_REQUIRED) #import #import #else #endif #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) #endif |
Xcode版本与AFNetworking版本不兼容 | 当Xcode版本较低,而使用了最新版本的AFNetworking时,会出现各种错误。 | 使用终端更新到较低版本的AFNetworking,命令如下: `` pod 'AFNetworking', '~> 4.0' ``(假设需要安装4.x版本) |
APPLE LLVM 6.0 Error | 在编译过程中出现APPLE LLVM 6.0 Error错误。 | 1. 去资源库——Developer——Xcode——DerivedData文件夹,删除DerivedData文件夹下的内容(如果DerivedData文件夹下无重要文件)。 2. 如无法全部删除,则删除DerivedData——ModuleCache文件夹中的内容。 |
缺少依赖框架 | 编译时出现找不到相关符号或函数的错误,通常是因为缺少依赖的系统框架。 | 在Build Phases中添加SystemConfiguration.framework、MobileCoreServices.framework和Security.framework。 |
注意事项
环境配置:确保开发环境中的Xcode、CocoaPods等工具都是最新版本,以避免因版本过低导致的兼容性问题,要正确配置项目的Target和Podfile文件,指定正确的AFNetworking版本和其他依赖项。
证书管理:在使用真机进行测试时,要特别注意证书的管理,确保证书是有效的,并且在项目中正确配置了签名和 provisioning profile,避免使用过期或无效的证书,以免导致程序运行时出现证书相关的错误。

代码修改风险:在修改AFNetworking的源代码或配置文件时,要谨慎操作,虽然一些修改可以解决特定的问题,但可能会引入新的兼容性问题或其他潜在风险,在进行修改之前,最好对原始代码进行备份,并充分测试修改后的代码在不同环境和设备上的表现。
