Xcode相关
Xcode相关的路径
- Provisioning Profiles存放路径:~/Library/MobileDevice/Provisioning Profiles
- 所有模拟器(包括历史模拟器):~/Library/Developer/CoreSimulator/Devices
清理Xcode占用容量
- iOS DeviceSupport:~/Library/Developer/Xcode/iOS DeviceSupport
说明:在连接设备调试时,会自动在该路径下生成该设备系统版本的Symbols目录,其中含有系统动态库,比如动态库UIKit的路径为~/Library/Developer/Xcode/iOS DeviceSupport/11.4 (15F79)/Symbols/System/Library/Frameworks/UIKit.framework/UIKit
建议:保留经常调试的设备的iOS系统版本,不经常使用的系统版本都删掉。 - Archives:~/Library/Developer/Xcode/Archives
说明:打包生成的Archives文件,这个不可恢复,删除后Archives的文件都会消失。
建议:保留有效的打包文件,备份dSYM文件。 - DerivedData:~/Library/Developer/Xcode/DerivedData
说明:运行项目工程产生的缓存,删除文件夹中的内容会删除build生成的项目索引、build输出以及日志,重新打开项目时会重新生成。
建议:全部删除,之后运行程序的时候会重新生成的。
真机调试
- 真机包存放路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport,一个真机包带有两个文件:DeveloperDiskImage.dmg.signature和DeveloperDiskImage.dmg
- github上收集的真机包:iPhoneOSDeviceSupport(或者iOS-DeviceSupport),往路径添加完真机包后,记得关闭Xcode,然后重新启动Xcode运行项目
- 每个版本的Xcode都带有适应当时最新iOS系统的SDK,iPhone SDK存放路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
github上收集的iOS系统的SDK:iPhoneOS.sdk
TARGETS Build Settings
- Library Search Paths:设置静态库(比如.a、私有的.framework)或动态库(.dylib)的路径。
如果报"directory not found for option '-L/..."错误,说明Library Search Paths没有配置好。 - Header Search Paths:设置静态库或动态库的头文件(即.h文件)的路径。
如果项目是用cocoaPods管理第三方库,比如项目中使用了AFNetworking库,cocoaPods会自动配置好AFNetworking库的头文件路径,不需要开发者区手动配置,路径内容为:
$(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking"
但如果是使用非cocaPods管理的库(比如自己编译的.a文件),就需要手动配置库的头文件的路径,比如路径内容为:
$(SRCROOT)/pjproject/pjlib/include $(SRCROOT)/pjproject/pjlib-util/include
否则会报找不到头文件的错误(一般会在#include <>地方报错)
Xcode命令
- 查看Xcode支持的SDKs版本命令(包括iOS、iOS Simulator、macOS、tvOS):xcodebuild -showsdks
- 查看当前使用Xcode版本路径:xcode-select -p
- 更改当前使用Xcode版本路径:sudo xcode-select -s /Applications/Xcode9.app/Contents/Developer
Xcode运行问题
- 若Xcode勾选了自动管理签名(automatically manage signing)且更改过Signing & Capabilities,则Xcode会自动在该路径下生成对应的描述文件,可通过创建时间和内容来查看描述文件对应的Bundle Identifier、App ID等信息。
如果钥匙串有可用的证书,但Signing & Capabilities却爆红,Command+R遇到错误"Your account already has a signing certificate for this machine but it is not present in your keychain" 或 "no identity found Command CodeSign failed with a nonzero exit code",可能是Xcode抽风了,完全退出Xcode,重新打开项目,Xcode会在~/Library/MobileDevice/Provisioning Profiles路径下生成描述文件,且能正常链接上钥匙串中的证书了。
本文来自博客园,作者:奔跑的鸿,转载请注明原文链接:https://www.cnblogs.com/johncahong/p/15393981.html
浙公网安备 33010602011771号