iOS開發(fā) 常用tips

想到了就加進(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)容

  1. cd到項(xiàng)目路徑下
  2. 執(zhí)行g(shù)rep腳本
$ grep -r "搜索內(nèi)容" .

10. Xcode描述文件路徑

~/Library/MobileDevice/Provisioning Profiles
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容