版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Bolted_snail/article/details/84257185
文章目录
真机调试文件路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
描述文件路径
~/Library/MobileDevice/Provisioning Profiles
macOS系统缓存路径,可以定期清理缓存
~/Library/Caches
Xcode清理缓存和垃圾文件
- 前往Xcode所在的文件目录:
~/Library/Developer/Xcode
(1) Archives 存放的是Xcode打包时生成的文件,这里面的文件可以全部删掉。
(2) DerivedData 存放的是build生成的项目索引、build输出以及日志,这里的文件可以全部删除。
(3) iOS DeviceSupport 存放的是模拟器,对于你不需要的一些模拟器你可以删掉。即使不小心删掉了,也是可以重新下载的。
其他几个文件所占的内存不多,可以不用去管它了。
Xcode开启监听僵尸对象
Target->Edit Scheme->Run->Diagnosics
将Zombie Objects
勾选上
MRC和ARC混编
-
iOS5.0以后就开始可以使用ARC了;
-
设置编译环境:Target->Build Settings ->Objective-C Automatic Reference Counting,iOS5以后默认是YES,修改为NO即为MRC.
-
ARC环境下允许编译MRC文件:Target->Build phases->Compile Sources双击对应的MRC文件在弹出框中添加
-fno-objc-arc
即可.
-
MRC环境下允许编译ARC文件:Target->Build phases->Compile Sources双击对应的ARC文件在弹出框中添加
-fobjc-arc
即可.
使用pch文件导入头文件方法(预编译头文件)
- 新建一个
PCH File
文件,在里面导入一些默认的头文件,可以说系统头文件,也可以说自己创建的头文件,也可以在里面定义一些宏,如:
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
#ifdef __OBJC__//直被oc文件所引用
#import <UIKit/UIKit.h>
#import "Header.h"
#define DefultUrl @"https://baidu.com/test"
#endif
#endif
//创建一个Header File 文件,在里面定义一些宏,可以说默认的常亮,也可以说变量
#ifndef Header_h
#define Header_h
#define Test @"默认设置"
#endif /* Header_h */
- Target->Build Settings->Apple LVVM9.0 - Language中Precompile Prefix Header 设置为YES(预编译头文件设置为YES);双击Prefix Header将pch文件路径写入(可以直接将pch文件拖进去)
或者直接设置相对于项目的相对路径如PCH宏文件/PrefixHeader.pch
也是可以的。
也可以说$(SRCROOT)/工程名字/pch文件名.pch
- 建议用第二、第三种方式,简单不易出错,第一种有时候多人开发可能会出错,有时候项目换了路劲也可能出错。
- 这样pch文件中的
UIKit.h
、Header.h
、DefultUrl
在整个工程中都可以直接使用,不用再导入头文件 - 实际上不仅仅PCH文件可以设置成预编译头文件,
.h
头文件也可以设置成预编译头文件,方法一样,如’Header.h’也可以直接设置的。
Xcode定义Preprocessor Macros编译宏
- 有时候我们一个工程
(project)
中有多个target
,同一个程序块,不同的逻辑。这里就可以用到Preprocessor Macros了。只要把你的宏加到Preprocessor Macros里就行了。
Target->Build Settings ->Preprocessor Macros
双击添加宏即可。
设置后项目中就可以直接使用了