iOS开发,导入c文件引发的 Unknown type name 'NSString' 问题

今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图

导致出现异常的原因是是因为工程中添加了ZipArchive(第三方开源解压缩库)

一般情况下出现“Unknown type name”是头文件互相引用出现的,这里可以排除,由于源码使用是c\c++与oc混编,

考虑新的XCode编译文件类型导致的,尝试了几种方案,下面三种可以解决问题。

解决方案一:

选择所有.c文件,将属性的 identity and type 改为Objective-C Source。

解决方案二:

选择所有.c文件,将.c修改为.m

解决方案三:

将Compile Sources As 改为 Objective-C++

方案三由于修改所有文件的编译类型,所有可能会导致其他包括c、c++代码的提示错误,不过都是些的提示异常,按提示修改即可。

另外,添加第三方库一般步骤分三步:

1)拖入库文件夹,copy一份加入自己的项目

2)添加库所需要的框架或者动态链接库

3)ARC下修改编译属性 -fno-objc-arc

但是今天加入zipArchive ,按步骤加入,增加libz动态库,修改-fno-objc-arc一下报了23个错误(汗 too many errors emitted, stopping now),都是 expected identifier or '(' ,unknown type name 'NSString',could not build module 'Foundation',could not build module 'UIKit'。

通过百度,stackOverflow上找到解决方法:

在所在项目pch文件中,把自己所#import的头文件做如下操作

#ifdef __OBJC__

#import

#endif

分析了一下,zipArchive库是C OC C++文件混编,pch里面自加的头文件是全局性的,当在C文件import时其实是没有意义的,也就是问题出处,所以要ObjC区分开编译,这样总是就解决了。

iOS开发,导入c文件引发的Could not build module 'Foundation'问题相关推荐

  1. iOS开发,导入c文件引发的 Unknown type name 'NSString' 问题

    今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 导致出现异常的原因是是因为工程中添加了ZipArchive(第三方开源解压缩库) 一般情况下出现" ...

  2. (0095)iOS开发之本地文件预览的三种方法(3)

    (0090)iOS开发之本地文件预览的三种方法(1) (0094)iOS开发之本地文件预览的三种方法(2) 用功能强大的Webview来实现文件预览功能 我导入的 ios.pdf 前两种可以打开,但是 ...

  3. (0094)iOS开发之本地文件预览的三种方法(2)

    (0090)iOS开发之本地文件预览的三种方法(1) (0095)iOS开发之本地文件预览的三种方法(3) QuickLook预览文件 quickLook预览文件也是系统提供的预览方法,具体使用如下 ...

  4. iOS开发网络篇—文件的上传

    说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代码. 主控制器的关键代码: Y ...

  5. iOS开发中plist文件的创建与简单读取(一)

    iOS开发中plist文件的创建与简单读取(一) 1. 创建一个工程 2. 新建一个plist文件(command+N快捷键或者新建文件 如图下的红色圈) 3. 红色圈是plist的文件名,这里默认为 ...

  6. iOS开发——导入第三方库引起的unknown type name 'NSString'

    今天加入SVProgressHUD的第三方库的时候报了24个错误( too many errors emitted, stopping now),都是 expected identifier or ' ...

  7. iOS开发学无止境 - NSFileManager文件操作的十个小功能

    (配图的小故事还记得嘛) NSFileManager是一个单列类,也是一个文件管理器.可以通过NSFileManager创建文件夹.创建文件.写文件.读文件内容等等基本功能. 下面将介绍NSFileM ...

  8. ios开发证书CSR文件、CER文件、P12文件,mobileprovition许可文件的用途

    1.CSR文件      钥匙串文件,为生成证书做基础,要生成CER证书必须要有CSR私钥,此私钥包含了用户自己的一些信息. 2.开发证书 CER文件 苹果的这个开发者证书也是同样的原理,本地的req ...

  9. ios开发证书CER文件、P12文件,mobileprovition许可文件的用途

    1,开发证书 CER文件 这个文件的申请请去 http://blog.csdn.net/lanergaming/article/details/38784925 根据前边的博客大家已经知道证书.公钥. ...

最新文章

  1. MATLAB【十三】————仿真函数记录以及matlab变成小结
  2. R语言编写自定义函数、评估回归模型预测变量的相对重要性(Relative importance)、通过在所有可能的子模型中添加一个预测变量而获得的R方的平均增加、评估预测变量的重要度、并通过点图可视化
  3. LeetCode算法题4:二分查找及扩展应用
  4. 前台模板 海豚php_GitHub - cbw1820446/DolphinPHP: 海豚PHP——快速开发框架(基于ThinkPHP5.0.3)...
  5. hihocoder 1689 - 推断大小关系(图论+二分)
  6. CSDN光合计划-纯干货-推荐几个python全系列学习教程
  7. 重物码垛搬运机器人_节卡机器人:5G下的智慧物流——柔性生产物流系统
  8. c 语言 16进制写法,C语言16进制中16怎么表示?
  9. python写爬虫4-多线程爬虫(采集58出租房信息)_python实现多线程爬虫
  10. Laravel向视图传递变量的两种方法
  11. 单一职责原则 (Single Responsibility Principle,SRP)
  12. oracle11g关闭库,Oracle11g中SYS连接阻止关闭数据库
  13. 朴素贝叶斯-垃圾邮件(英文的)处理
  14. 炒冷饭系列:设计模式 单例模式
  15. POJ 2492 A Bug's Life
  16. VC6.0无法进入调试
  17. web逻辑思维题目_经典的逻辑思维训练题
  18. 百度云盘加速器for mac
  19. 数据结构(C++版)校园导游咨询系统课程设计
  20. python工资条教程_我用python帮朋友写了一个“制作工资条”的自动化程序!网友说:真棒!...

热门文章

  1. Tesla AI Day视觉自动驾驶技术解读:感知+规划+矢量地图+自动标注+仿真
  2. 深度细节 | Go 的 panic 的秘密都在这
  3. 扒一扒你不知道的《经济学人》大家族
  4. CentOS关机和重启命令
  5. 2021年全球除湿机收入大约2769.4百万美元,预计2028年达到4758.2百万美元
  6. 什么叫做java类的全限定名
  7. Outlook Express邮件丢失的原因
  8. C语言 将大写字母转换成相应的小写字母
  9. 【备考二级java】
  10. win环境安装rabbitMQ