日常随记2021-11-10

执行 pod install 或 pod update 时,CocoaPods 会在每次执行时检查和更新本地的仓库索引(Spec repo)。如果仓库数据已经是最新的,这一步实际上是多余的,可能导致速度慢。通过加上 --no-repo-update 参数,CocoaPods 将跳过仓库更新,直接执行安装或更新操作。

• 安装依赖:
pod install --verbose --no-repo-update
• 更新依赖:
pod update --verbose --no-repo-update
• 手动更新本地仓库命令:
pod repo update

如果你遇到问题,或者想要彻底清理现有的 CocoaPods 依赖,并从头开始重新安装依赖,可以按照以下步骤操作:

• 删除 Pods 目录、Podfile.lock 文件和缓存

这一步将完全删除项目中的 Pods 依赖、锁定文件和缓存,确保重新安装依赖时不会受到以前依赖状态的影响。

rm -rf Pods Podfile.lock                        
pod cache clean --all
pod install --repo-update
xcode连接不上设备
sudo pkill usbmuxd
显示或隐藏文件夹

• 你可以通过以下两种方式在 macOS 中显示或隐藏 Finder 中的隐藏文件和文件夹。或者直接可以通过按下快捷键 Command + Shift + . (句点) 在 Finder 中显示隐藏文件。
• 显示所有隐藏文件:

defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder

• 隐藏所有隐藏文件:

defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder

ios15 全局设置 导航栏透明问题

  • 不透明
if #available(iOS 15.0, *) {
     let app = UINavigationBarAppearance()
     app.configureWithOpaqueBackground()  // 重置背景和阴影颜色
     app.titleTextAttributes = [
           NSAttributedString.Key.font: UIFont.systemFont(ofSize: 18),
           NSAttributedString.Key.foregroundColor: UIColor.white
     ]
     app.backgroundColor = UIColor.init(hexString: "#2C81EC")  // 设置导航栏背景色
     app.shadowColor = .clear
     UINavigationBar.appearance().scrollEdgeAppearance = app  // 带scroll滑动的页面
     UINavigationBar.appearance().standardAppearance = app // 常规页面。描述导航栏以标准高度
}
  • 透明
if #available(iOS 15.0, *) {
       let app = UINavigationBarAppearance()
       app.configureWithOpaqueBackground()  // 重置背景和阴影颜色
       app.backgroundEffect = nil
       app.titleTextAttributes = [
               NSAttributedString.Key.font: UIFont.systemFont(ofSize: 18),
               NSAttributedString.Key.foregroundColor: UIColor.white
       ]
       app.backgroundColor = .clear // 设置导航栏背景色
       app.shadowColor = nil
       UINavigationBar.appearance().scrollEdgeAppearance = nil  // 带scroll滑动的页面
       UINavigationBar.appearance().standardAppearance = app // 常规页面。描述导航栏以标准高度
 }

UILabel显示富文本标签(解析成html的富文本)

+ (NSAttributedString *)nxm_mutableAttrHtmlStringFrom:(NSString *)content {
    content = [NSString stringWithFormat:@"<html><meta content=\"width=device-width, initial-scale=1.0, maximum-scale=3.0, user-scalable=0; \" name=\"viewport\" /><body style=\"overflow-wrap:break-word;word-break:break-all;white-space: normal; font-size:12px; color:#A4A4A4; \">%@</body></html>", content];
    NSAttributedString *mutableAttr=  [[NSAttributedString alloc] initWithData:[content dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)} documentAttributes:nil error:nil];
    return mutableAttr;
}

删除Xcode多余配置文件

open ~/Library/MobileDevice/Provisioning\ Profiles/

获取两个数组的相同元素(删除一个数组中包含另一个数组元素的元素)

NSMutableArray *arr1 = [@[@1,@2,@3,@8,@5,@6] mutableCopy];
NSMutableArray *arr2 = [@[@1,@3,@9,@7,@6] mutableCopy];
NSArray *filterArr1 = [arr1 filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF IN %@",arr2]]; //筛选出arr1中arr2有的元素
NSLog(@"arr1有arr2中的:%@",filterArr1);
// 打印
/*
  arr1有arr2中的:(
      1,3,6
)
*/
NSArray *filterArr2 = [arr2 filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF IN %@",arr1]]; //筛选出arr2中arr1有的元素
NSLog(@"arr2有arr1中的:%@",filterArr2);
// 打印
/*
  arr2有arr1中的:(
      1,3,6
  )
*/
NSMutableArray *notSameArray = [NSMutableArray new];
[notSameArray addObjectsFromArray:filterArr1];
[notSameArray addObjectsFromArray:filterArr2];
NSLog(@"arr1和arr2的相同元素:%@",notSameArray);
// 打印
/*
  arr1和arr2的相同元素:(
      1,3,6,1,3,6
  )
*/
[arr2 removeObjectsInArray:notSameArray];
NSLog(@"删除arr1和arr2的相同元素后的arr2:%@",arr2);
// 打印
/*
  删除arr1和arr2的相同元素后的arr2:(
      2,5,7,8,9
  )
*/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。