Mac 配置 minio 客户端 mc 命令行

参考 minio 官方文档 MinIO Client

  1. 安装

    brew install minio/stable/mc
    mc --help
    
  2. 配置 minio-server 信息

    mc alias set myminio https://minioserver.example.net ACCESS_KEY SECRET KEY
    
  3. 测试链接

    mc admin info myminio
    

    image-20240301上午110413014

  4. 拷贝

    mc cp "$IMAGE" "myminio/${IMAGE}"
    
  5. Quick Reference

    常用命令

    ``` mc alias list mc alias set

    mc cp mc du mc find mc ls mc rm

mc ls myminio # 查看文件 ```


shell命令屏蔽错误消息

我在 Mac 下用命令行搜索文件:

sudo find / -name "com.google.Keystone.plist"

输出了很多没有权限的内容:

find: /Library/Application Support/com.apple.TCC: Operation not permitted 
find: /Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted 
find: /Library/Caches/com.apple.aneuserd: Operation not permitted

这时候可以使用重定向 2>/dev/null ,将这些错误信息屏蔽掉:

sudo find / -name "com.google.Keystone.plist" 2>/dev/null

cocoapods 初接触

一、安装 cocoapods

gem 是 Ruby 的一个包管理器,而 cocoapods 是一个用于管理 iOS 项目中第三方库依赖的工具。

我将用 Ruby 的 gem 命令安装名为 cocoapods 的 Gem 包。这个命令的作用是将 CocoaPods 工具安装到系统中,以便今后可以在 iOS 项目中使用 CocoaPods 来管理依赖关系。

sudo gem install cocoapods
pod setup --verbose
pod --version

image-20240126下午51805004

image-20240126下午52025382

image-20240126下午54623024

二、背景学习

可以看谷歌的这个学习视频(怪怪的感觉🤣) https://youtu.be/iEAjvNRdZa0?si=tlD5kxp4gAAUZu7s

image-20240126下午54831482

三、初始化 iOS 项目

pod init

将出现一个文件 Podfile:

image-20240126下午54450231

修改文件 Podfile,增加一下 pod 的内容:

image-20240126下午60209206

# 回到命令行

pod install

image-20240126下午60030747

文件目录改成这样了,多了很多文件,目录结构也有点变化:

image-20240126下午60256713

在xcode中也能看到,多了Pods这个文件夹:

image-20240205上午94023021

四、build

首次 init 后,需要先build一遍原有项目,有可能会有错误。问题各有千秋。

我目前是 xcode 15,遇到了两个问题:

1. User error: Sandbox: rsync.samba(26931) deny(1) file-write-create

cocoapods User error: Sandbox: rsync.samba(26931) deny(1) file-write-create /Users /Library/Developer/Xcode/DerivedData

image-20240205上午94911487

根据:Xcode 15 beta build issues - apple developer forumsXcode 15 cannot copy frameworks to app bundle possibly due to sandboxing issues #11946 - github

禁用 Xcode 的沙盒机制

爬楼这个答案还不错,机翻不太好:

如果您想保持ENABLE_USER_SCRIPT_SANDBOXING启用,修复方法是将文件添加为输入和输出。我使用脚本在构建信息plist文件中设置构建号。我只需要将"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"设置为脚本的输出

构建设置ENABLE_USER_SCRIPT_SANDBOXING在Xcode 14中添加,但在更新中启用了在Xcode 15中推荐设置

来自Xcode 14发布说明:

您现在可以使用ENABLE_USER_SCRIPT_SANDBOXING构建设置为shell脚本构建阶段启用沙盒。沙箱阻止访问项目源根目录内的文件以及派生数据目录,除非您将这些文件列为输入或输出。启用后,如果脚本阶段试图从未声明的依赖项中读取或写入,则构建将因沙盒违规而失败,从而防止错误的构建。

感谢Daniel Jalket的博客文章:Xcode构建脚本沙盒-https://indiestack.com/2023/06/xcode-build-script-sandboxing/

具体是, User script sandboxing - > Set " No "

image-20240205下午11115522

2. Failed to instantiate the default view controller for UIMainStoryboardFile ‘Main’ - perhaps the designated entry point is not set?

image-20240205下午24833674

瞎操作看到一个初始化 view设置,点上去就ok了。

image-20240205下午32350018