xcode添加文件时的勾选解析

本文详细介绍了在Xcode中导入第三方库的具体步骤与注意事项,包括文件拷贝选项、文件夹逻辑结构与物理路径的区别等,并给出了最佳实践建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发iOS项目的时候需要导入第三方的库文件,但是通过Xcode导入第三方源文件的时候会提示一些信息,不知所以然。

现在看到的文档都是针对Xcode3的,针对Xcode4的说明很少,现在分享出来。

官方说明文档http://developer.apple.com/library/mac/#qa/qa1484/_index.html

http://labs.ywlx.net/?p=1798

 

其实我们可以根据上面的截图看到主要就是三个说明信息

Destination   Copy items into destination group's folder (if needed)

Folders         Create groups for any added folders

                   Create folder references for any added folders

下面这几条信息进行说明

1、Destination   Copy items into destination group's folder (if needed)

主要是说明,是否要将文件拷贝到工程所在目录。

如果不选中,而且该库文件不在工程目录下,引入文件的时候就仅仅是引入逻辑链接,不拷贝文件。(如果库文件移动,则可能在编译工程的时候出错)

如果选中,则将该文件拷贝到工程目录下(系统推荐的方式),虽然引用的也是逻辑链接,但是不会因为引动库文件而引起错误

当选择拷贝到工程目录下时,Xcode默认将文件夹拷贝到如下路径:与xxx.xcodeproj文件在同一层目录结构

 

2、Folders         Create groups for any added folders

  导入文件的时候会是逻辑结构,而不是物理结构,目录结构图标如下,黄色的文件夹结构,和构建的Group是一样的

 

3、 Create folder references for any added folders

创建引入的是蓝色的文件夹结构,物理路径

 

在引用的过程中发现之前的一个错误,把库文件和系统自身的文件放置在一起,只是用文件夹区分,引用的时候总是需要加上文件夹名称,导致引用的路径很长,

其实发现Xcode自身就做了处理。

采取这样的方式加载第三方库文件的时候是需要给出文件夹的路径的,比较麻烦,最好的方式还是把第三方库文件放在和.xcodeproj平级的目录

但是这样虽然省略了文件夹引用路径,但是又来了一个缺点,引用的时候无法自动提示,需要手动敲入头文件,正确之后才不会报错

还没找到很好的方法解决,但是这个问题可以很好的提示自己不要出错,不然就一个红色的感叹号在那里!


另外:

 group 和 folder的区别

group 一般只在你的工程中是文件夹的形式,但是在本地的目录中还是以散乱的形式放在一起的,除非你是从外部以group的形式引用进来的。

folder 只能作为资源,整个引用进项目,不能编译代码,也就是说,以folder形式引用进来的文件,不能被放在complie sources列表里面。


Xcode 是苹果公司开发的用于iOS和macOS应用开发的集成开发环境(IDE)。如果你想要在Xcode中使用Near Field Communication (NFC) 功能,首先确保你的项目支持iOS 14及以上版本,因为NFC API在这些版本中引入。 下面是使用Xcode进行NFC读写的基本步骤: 1. **设置支持**: 在Xcode的项目设置里,确保"Capabilities"选项卡中勾选了"NFC Reader/Writer"。这会启用对NFC功能的访问权限。 2. **导入框架**: 在需要使用NFC的文件中,添加`#import <CoreNFC/CoreNFC.h>`来引用Core NFC框架。 3. **请求权限**: 使用`CNAuthorizationStatus`检查权限并请求用户授权。如果需要读取数据,调用`CNContactReader.requestAuthorization`;如果要写入,使用`CNMutableContact`或其他适当的数据类型。 4. **读取标签**: 使用`CNContactReader`创建一个读者实例,然后在`CNContactReaderSession`中监听`CNContactReadingSessionStateDidChange`通知,当扫描到一个NDEF tag,可以通过`CNContact`或自定义解析器来处理数据。 5. **写入数据**: 创建一个`CNMutableNDEFMessage`来包含要写入的数据,然后使用`CNContactWriter`将消息写入到NDEF tag。 6. **错误处理**: 要记得捕获并处理可能出现的错误,例如权限拒绝、通信失败等。 7. **示例代码**: 以下是一个简单的读取NDEF tag的例子: ```swift let reader = CNContactReader() let session = CNContactReadingSession(reader: reader, delegate: self) session.begin() // Delegate methods will handle the NDEF data ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值