我最近刚刚入门ObjectiveC,在研习《Objective C程序设计(第6版)》一书。

今天看到有关文件和归档的章节,但是我对XCode的生成文件路径并不了解,然后,在调试代码的时候就发现问题了。

比如在下面的这段代码中,将字典对象写入名为glossary的路径中,并将文件中的字典对象读出。

 #import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSDictionary *glossary=@{
@"abstract class":@"A class defined so other classes can inherit from it",
@"adopt":@"To implement all the methods defined in a protocol",
@"archiving":@"Storing an object for later use."
};
if([glossary writeToFile:@"glossary" atomically:YES]==NO)
NSLog(@"Save to file failed."); NSDictionary *gloss=[NSDictionary dictionaryWithContentsOfFile:@"glossary"];
for(NSString *key in gloss)
NSLog(@"%@: %@",key,gloss[key]);
}
return ;
}

程序运行结果如下:

-- ::33.724 Prog1[:] archiving: Storing an object for later use.
-- ::33.725 Prog1[:] adopt: To implement all the methods defined in a protocol
-- ::33.725 Prog1[:] abstract class: A class defined so other classes can
inherit from it

程序成功运行,说明文件成功生成了,问题来了,生成的文件保存在哪里呢?

一看,XCode左边的文件栏里没有。

再到项目的创建路径中,也没找到。

那么,生成的文件到底保存在哪里?build路径如何查看?

到网上搜索一番,终于找到答案了。

1、XCode--》Preferences(快捷键:command+,),点开Locations,可以看到几个路径。

其中,Derived Data路径就是XCode默认的生成路径。点击透明的那个小箭头便可跳转到该文件夹。

2、在Derived Data中找到项目Prog1的生成文件夹,继续往下找,可在Build/Products/Debug中找到glossary文件,这个就是上面的程序中生成的文件。双击打开,可查看文件中的内容。

3、如果想在项目文件夹中也生成Build文件夹,那就在Preferences--》Location中,点击Advanced,将Build Location设置为Custom,选择Relative to Workspace,即可。

4、重新运行,重新回到项目创建路径中,就会发现文件夹中生成了Build文件夹。

T_T隔了一个星期来看,上次粘贴的图片居然没了?!!!!!原来博客园不能粘贴图片么,那为什么上次还能显示挺好的呀。泪奔……索性删掉了~╭(╯^╰)╮

Xcode如何找到默认的生成路径?的更多相关文章

  1. [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档

    [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档     Doxygen本来是一个很好的工具,可是我感觉在mac系统下,如果用doxygen最后生成的CHM文件感觉就不是那么恰当, ...

  2. 【原创】CA证书申请+IIS配置HTTPS+默认访问https路径

    一.CA证书申请 (一). 新StartSSL注册帐号 1.    StartSSL官网 官方网站:https://www.startssl.com/ 2.    进入到StartSSL后,直接点击注 ...

  3. 如何指定GCC的默认头文件路径

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:)原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631============ ...

  4. CA证书申请+IIS配置HTTPS+默认访问https路径

    引用别人博文内容:https://www.cnblogs.com/lichunting/p/9274422.html 一.CA证书申请 (一). 新StartSSL注册帐号 1.    StartSS ...

  5. 更改QTP默认测试脚本路径

    QTP的默认测试脚本路径为安装路径下的Tests文件夹下, 如果你安装在D:,那么默认脚本路径为D:\Program Files\HP\QuickTest Professional\Tests 但是因 ...

  6. 如何找出Xcode中不同版本Swift的路径

    我们知道Xcode中可能包含不知一个Swift的版本,那么我们如何找到它们对应的路径呢? 熟悉unix shell命令的童鞋都知道有一个find指令,在我们已知Xcode路径时,我们可以在其中找到Sw ...

  7. KBEngine 编译出现 MSB802 无法找到v140的生成工具

    我用的vs版本是vs2017professional版本,并未安装所有的工具 在编译kbengine源码时候出现 MSB802 无法找到v140的生成工具错误 修复办法在菜单栏选择  工具--> ...

  8. IIS7配置HTTPS+默认访问https路径

    一.下载证书(这里我使用的是阿里云免费的证书) 文件说明: 1. 1532858285913.key(证书私钥文件).1532858285913.pem(证书文件).1532858285913.pfx ...

  9. 为Python加入默认模块搜索路径

    为Python加入默认模块搜索路径 方法一:函数加入 1) import sys 2) 查看sys.path 3) 加入sys.path.append("c:\\") 方法二:改动 ...

随机推荐

  1. C#网络编程基础知识

    C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...

  2. 设计模式-14 MVC模式

    一 MVC设计模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式,它是一个存在于服务器 表达层的模型,它将应用分开,改变应用之间的高度耦合 MVC设计模式将 ...

  3. mybatis的逆向工程

    mybatis的逆向工程是很大的减少了程序员对代码的编写工作,由于mybatis是半自动的sql语句使用,我们在项目中一般都是采用逆向工程来生成mybatis的文件,mapper接口相当于我们平常所说 ...

  4. sudo和rpm命令

    sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录 和管理时间,同样也提高了安全 ...

  5. mysql查看表使用的数据库引擎

    看某个使用的引擎,在显示结果里参数engine后面的就表示该表当前用的存储引擎: mysql> show create table 表名; 看mysql支持哪些存储引擎: mysql> s ...

  6. css001 Css需要的html

    Css需要的html 可以忘却的html属性和标签 1.不要用<font>来控制字体的大小和类型.(那要用什么?见第六章) 2.不要用<b>和<i>(b和i只是把字 ...

  7. iocp还是select

    上一个项目libevent应该是select,现在libuv是iocp,都知道Windows下iocp比select效率高,boost asio 也是iocp,但具体使用select和iocp发现没有 ...

  8. python实现软件的注册功能(机器码+注册码机制)

    http://www.cnblogs.com/cquptzzq/p/5940583.html 一.前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状 ...

  9. 【经典】C++&RPG对战游戏

    博文背景: 还记大二上学期的时候看的这个C++&RPG游戏(博主大一下学期自学的php,涵盖oop内容),一个外校的同学他们大一学的C++,大二初期C++实训要求做一个程序填空,就是这个 RP ...

  10. Autofac IContainer 测试

    using Autofac; using System; using System.Collections.Generic; using System.Linq; using System.Text; ...