### 常见iOS错误解决方案 #### 一、`libxml/HTMLparser.h file not found` **问题描述:** 在开发iOS应用时,有时会遇到找不到`libxml/HTMLparser.h`头文件的问题。 **解决方案:** **第一种方法:** 1. 在Xcode中,点击左侧项目的根目录。 2. 转到右侧的`Build Settings`。 3. 手动输入“Header Search Paths”,然后点击旁边的加号按钮或者空白处添加路径。 4. 输入路径:`/usr/include/libxml2`。 **第二种方法:** 1. 同上步骤打开`Build Settings`。 2. 在“Header Search Paths”中添加路径:`${SDK_DIR}/usr/include/libxml2`。 3. 这里的`${SDK_DIR}`会被解析为当前使用的SDK目录。 --- #### 二、总是找不到协议 **问题描述:** 开发过程中可能会遇到找不到某个协议的问题。 **解决方案:** **第一种方法:** 1. 检查是否已正确导入所需的协议。 2. 如果未导入,则在适当的文件头部添加相应的`#import`语句。 **第二种方法:** 1. 如果协议被重复导入,则检查所有可能导入此协议的地方,并移除重复的导入声明。 --- #### 三、启动画面不显示 **问题描述:** 应用启动时,启动画面未能正常显示。 **解决方案:** 1. **确保图片尺寸正确:** - 检查并确认所有启动画面图片的尺寸是否符合iOS的规定。 - 将这些图片全部导入工程中。 2. **正确配置启动画面:** - 打开工程中的`Images.xcassets`文件夹。 - 将图片分别拖入对应的`App Icon`和`Launch Image`资源槽内。 --- #### 四、`ld: library not found for -lcrypto` **问题描述:** 链接时出现找不到`-lcrypto`库的错误。 **解决方案:** **第一种方法:** 1. 确认项目设置中的`Link Binary With Libraries`是否已添加`crypto`库。 2. 如果未添加,则添加该库。 **第二种方法:** 1. 如果`crypto`库已经存在于`Link Binary With Libraries`列表中,尝试将其删除后重新添加。 --- #### 五、Unsupported compiler 'com.apple.compilers.llvmgcc42' selected for architecture 'armv7' **问题描述:** 编译时提示不支持用于`armv7`架构的`com.apple.compilers.llvmgcc42`编译器。 **解决方案:** 1. 打开项目的`Build Settings`。 2. 寻找`Build Options`下的`Compiler for C/C++/Objective-C`设置项。 3. 更改为默认的`Apple LLVM 5.0`编译器。 --- #### 六、关于`ld: file is universal (2 slices) but does not contain a (n) armv7s slice` **问题描述:** 升级Xcode后,支持iOS 6和iPhone 5时,编译时出现该错误。 **原因分析:** 通常是由于引用的第三方库造成的链接错误。 **解决方案:** 1. **升级第三方库:**确保所有依赖的第三方库都是最新的版本。 2. **更改构建设置:**在目标的`Build Settings`中,将`Build Active Architecture Only`设置为`YES`。 3. **调整有效架构:**同样在`Build Settings`中,找到`Valid Architectures`,移除`armv7s`。 --- #### 七、使用第三方插件时,出现`content offset`下移20像素的情况 **问题描述:** 在使用某些第三方控件时,可能会遇到视图内容下移20像素的问题。 **解决方案:** 1. 在使用第三方控件的`ViewController`的`viewDidLoad`方法中添加以下代码: ```objective-c if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) { [self setEdgesForExtendedLayout:UIRectEdgeNone]; } ``` --- #### 八、提交App时出现`no identities were available for signing`提示 **问题描述:** 提交应用时,遇到无法签名的问题。 **解决方案:** 1. 在Xcode的`Organizer`中查看上传项目的Identifier。 2. 在`Provisioning`中创建与Identifier匹配的文件。 3. 下载创建的Provisioning文件,并双击安装。 4. 再次在`Organizer`中上传文件。 5. 若对代码进行了修改,需要重新打包并上传最新的代码。 --- #### 九、`no matching provisioning profiles found` **问题描述:** 提交应用时,找不到匹配的Provisioning Profiles。 **解决方案:** 1. 在`Build Settings`中重新选择`Code Signing`。 2. 重新选择合适的Provisioning Profiles。 --- #### 十、`mutating method sent to immutable object` **问题描述:** 发送可变方法给不可变对象,例如尝试向`NSDictionary`发送`setValue:`消息。 **解决方案:** 1. 确保对象类型正确,将`NSDictionary`更改为`NSMutableDictionary`或其他可变类型。 --- #### 十一、`Local declaration of 'content' hides instance variable` **问题描述:** 局部声明的变量与实例变量重名。 **解决方案:** 1. 检查函数内部是否有与类属性重名的局部变量。 2. 重命名其中一个变量以避免冲突。 --- #### 十二、`unrecognized selector sent to instance` **问题描述:** 对象接收到未识别的选择器消息。 **解决方案:** 1. 检查发送给对象的消息是否正确。 2. 确保对象的类型与预期一致。 3. 查看对象是否实现了相应的方法。
剩余17页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助