想到了就加進(jìn)來,持續(xù)更新中。。。
1.查看Xcode編譯時(shí)間
步驟:關(guān)閉Xcode,打開終端,輸入
$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
效果如圖:
1.png
2.忽略編譯警告
項(xiàng)目中常會引入第三方庫來輔助開發(fā),有些庫為了兼容iOS之前的版本會使用一些在當(dāng)前版本中廢棄的API,如果我們的工程不支持,那么在編譯的時(shí)候就會產(chǎn)生很多警告,此時(shí)代碼是沒問題的。
解決方法:Build Phases -> Compile Sources , 在想要忽略警告的文件后面輸入 -w 即可忽略當(dāng)前文件所有的編譯警告。

2.png
我們也可以使用 -Wno-unused-variable 只禁掉未使用變量的編譯警告。
3.target信息異常
當(dāng)工程的編譯target信息異常的時(shí)候,可以刪除 .xcodeproj右鍵顯示包內(nèi)容中的xcuserdata目錄。該目錄下存有當(dāng)前用戶的各種工程狀態(tài)信息,刪除后重啟Xcode,Xcode會自動重建該目錄。

3.png

3-1.png
4.給模擬器相冊增加圖片
如果我們在模擬器上運(yùn)行的程序需要使用到其他圖片的話,直接拖拽該圖片到打開的模擬器上,當(dāng)出現(xiàn)加號的時(shí)候松手即可,這樣圖片就被放在了當(dāng)前型號模擬器的相冊當(dāng)中。

4.png
5.收起鍵盤
在UIViewController中收起鍵盤,除了調(diào)用registerFirstResponder方法外,還有另外三種方法:
// 1.重載UIViewController 中 的 touchesBegin 方法
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}
// 2.直接執(zhí)行下面代碼
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder)
to:nil
from:nil
forEvent:nil];
// 3.直接執(zhí)行
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
6.壓縮圖片
一個好用的壓縮圖片的網(wǎng)址:tinypng,使用說明都在上面,簡單使用,可以給工程中使用的圖片來個瘦身。

6.png
7. oc轉(zhuǎn)c++
使用命令行進(jìn)入 main.m 的目錄,執(zhí)行下面的命令會產(chǎn)生一個main.cpp文件
$ clang -rewrite-objc main.m
如果報(bào)錯 ,如:
main.m:8:9: fatal error: 'UIKit/UIKit.h' file not found
#import <UIKit/UIKit.h>
^~~~~~~~~~~~~~~
可以使用如下命令行:
// 路徑最后的iPhoneSimulatorX.X.sdk替換為Mac上裝有的sdk, 如iPhoneSimulator12.0.sdk
// X.m 替換為需要轉(zhuǎn)換的文件, 如 main.m
$ clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulatorX.X.sdk X.m
8. 查看Mac上裝有的SDK
$ xcodebuild -showsdks
輸出結(jié)果:
iOS SDKs:
iOS 12.0 -sdk iphoneos12.0
iOS Simulator SDKs:
Simulator - iOS 12.0 -sdk iphonesimulator12.0
macOS SDKs:
macOS 10.14 -sdk macosx10.14
tvOS SDKs:
tvOS 12.0 -sdk appletvos12.0
tvOS Simulator SDKs:
Simulator - tvOS 12.0 -sdk appletvsimulator12.0
watchOS SDKs:
watchOS 5.0 -sdk watchos5.0
watchOS Simulator SDKs:
Simulator - watchOS 5.0 -sdk watchsimulator5.0
9. 使用 grep 掃描內(nèi)容
- cd到項(xiàng)目路徑下
- 執(zhí)行g(shù)rep腳本
$ grep -r "搜索內(nèi)容" .
10. Xcode描述文件路徑
~/Library/MobileDevice/Provisioning Profiles