iOS开发 常用tips

想到了就加进来,持续更新中。。。

1.查看Xcode编译时间

步骤:关闭Xcode,打开终端,输入
$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

效果如图:
1.png

2.忽略编译警告

项目中常会引入第三方库来辅助开发,有些库为了兼容iOS之前的版本会使用一些在当前版本中废弃的API,如果我们的工程不支持,那么在编译的时候就会产生很多警告,此时代码是没问题的。
解决方法:Build Phases -> Compile Sources , 在想要忽略警告的文件后面输入 -w 即可忽略当前文件所有的编译警告。

2.png

我们也可以使用 -Wno-unused-variable 只禁掉未使用变量的编译警告。

3.target信息异常

当工程的编译target信息异常的时候,可以删除 .xcodeproj右键显示包内容中的xcuserdata目录。该目录下存有当前用户的各种工程状态信息,删除后重启Xcode,Xcode会自动重建该目录。

3.png
3-1.png

4.给模拟器相册增加图片

如果我们在模拟器上运行的程序需要使用到其他图片的话,直接拖拽该图片到打开的模拟器上,当出现加号的时候松手即可,这样图片就被放在了当前型号模拟器的相册当中。

4.png

5.收起键盘

在UIViewController中收起键盘,除了调用registerFirstResponder方法外,还有另外三种方法:

 // 1.重载UIViewController 中 的 touchesBegin 方法
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
}
// 2.直接执行下面代码
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder)
                                           to:nil
                                         from:nil
                                     forEvent:nil];
// 3.直接执行
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

6.压缩图片

一个好用的压缩图片的网址:tinypng,使用说明都在上面,简单使用,可以给工程中使用的图片来个瘦身。

6.png

7. oc转c++

使用命令行进入 main.m 的目录,执行下面的命令会产生一个main.cpp文件

$ clang -rewrite-objc main.m

如果报错 ,如:

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 替换为需要转换的文件, 如 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 

输出结果:

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 扫描内容

  1. cd到项目路径下
  2. 执行grep脚本
$ grep -r "搜索内容" .

10. Xcode描述文件路径

~/Library/MobileDevice/Provisioning Profiles
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容