swiftui hello

弹幕草稿记录中。来自斯坦福大学iOS开发课程2023。

IMG_0213

我觉得认真看完MVVM+protocol的内容就可以了,后续的需要的内容再跳着看。

image-20240111上午111057868

image-20240111上午111126455

1. Getting Started with SwiftUI

Xcode变化比任何教程都要快,还是要习惯。

image-20240110下午42025890

image-20240110下午35444034

函数式编程。

image-20240110下午40824158


使用 osascript 命令将 Mac 应用切换到前台

osascript

osascript是macOS上的一个命令行工具,用于执行AppleScript脚本或者JavaScript脚本。它的名称来源于”Open Scripting Architecture”(OSA),这是macOS中的脚本系统。

执行AppleScript脚本:

osascript -e 'tell application "Finder" to display dialog "Hello, World!"'

这个命令告诉Finder应用程序弹出一个对话框,显示”Hello, World!”。

image-20240110上午114921276

osascript对于与macOS交互、控制应用程序等场景非常有用,可以通过命令行方便地执行脚本。在你的情况下,使用osascript来激活应用程序并将其切换到前台。

例子

例如,将Xcode切换到前台的命令是:

osascript -e 'tell application "Xcode" to activate'

请确保应用程序名称与实际应用程序的名称匹配,大小写敏感。

将Safari切换到前台命令是:

osascript -e 'tell application "Safari" to activate'

请确保你输入的应用程序名称与实际应用程序的名称匹配,大小写敏感。

这个命令会使用AppleScript告诉应用程序激活(activate)。

请注意,有些应用程序可能需要一些时间来响应激活的命令,特别是在启动过程中。如果你在执行命令后没有看到立即效果,可以等待片刻,然后再检查应用程序是否已切换到前台。

参考资料

macOS 的 osascript 工具没有单独的官方文档。它是 AppleScript 的一部分。以下是一些有关 osascript 和 AppleScript 的资源:

  1. AppleScript 官方文档: AppleScript 的官方文档提供了关于脚本语言、语法、命令等方面的详细信息。你可以在 AppleScript 官方文档找到相关内容。

  2. osascript 命令行参考: osascript 的命令行选项和用法可以通过终端中运行 man osascript 来查看。这会显示一个关于 osascript 的手册页,列出了可用的选项和说明。

  3. AppleScript Language Guide: AppleScript 语言指南提供了有关 AppleScript 语法、关键字、对象和其他方面的详细信息。你可以在 这里找到该指南。

  4. JavaScript for Automation (JXA): 如果你对使用 JavaScript 脚本感兴趣,可以查看 JavaScript for Automation 的官方文档。在 这里找到相关信息。

注意,这些资源可能需要 Apple Developer 帐户才能访问。


Jekyll 添加 public 文件夹

以前一直把 / 路径的文件扔在根目录,看着觉得很别扭。稍微查了下资料,可以使用 集合(Collections) 的方式处理。

集合(Collection)用于定义一种新的文档类型,它既可以像页面和文章那样工作,也可以拥有它们特有的属性和命名空间,可以用来记录各种解决方案、团队成员、或是某次会议记录等场景。

添加配置到 _config.yml

我取了名字叫 public,可以取任意的名字(不和Jekyll的冲突即可)。

我设置了 permalink/:path,意思是扔到 /路径中,相当于之前放置在根目录的效果。

collections:
  public:
    output: true
    permalink: /:path

创建自定义文件夹_public

文件夹名字和刚才 _config.yml 中声明的一样。将文件夹全部拖进去,就可以了。

需要注意的是,不能把 index.html 文件也拖进去,否则 pagnation 的插件回报错。

最终的目录结构

image-20240108下午30528198

参考资料


Jekyll 添加 jekyll-archives 插件解决 tags category 相关问题

我加了 jekyll-archives 插件重写了blog的一些页面逻辑。稍微记录一下。

官方地址: https://github.com/jekyll/jekyll-archives

Mac安装

  1. 在 Gemfile 中增加 gem 'jekyll-archives'
  2. _config.yml 中增加:

     plugins:
       - jekyll-archives
    

    更多配置参考 https://github.com/jekyll/jekyll-archives/blob/master/docs/configuration.md

    以下是我的配置(我的layout文件是 tags.html):

     # Build settings
     plugins:
       - jekyll-paginate
       - jekyll-archives
        
     jekyll-archives:
       enabled:
         - tags
         - categories
         - year
       layouts:
         tag: tags
         category: category
         year: year
       permalinks:
         tag: '/tags/:name.html'
         category: '/:name/'
         year: '/archives/:year.html'
    
  3. 安装

     bundle install
    

    image-20240105上午100158848

Linux安装

基于以前的文章《使用新版本的 jekyll,加快编译速度》,我重build了镜像。你可以直接使用我的镜像:

docker pull kelvinblood/jekyll:v4.2.2

这里简述我的构建过程。官方原始的镜像在这,我用了 v4.2.2。

# File: Dockerfile
FROM jekyll/jekyll:4.2.2
MAINTAINER admin@kelu.org

# Install Gems
RUN gem install \
  jekyll-archives

我build成了这个名字:

# File: build.sh
docker build -t kelvinblood/jekyll:v4.2.2 .

修改docker-compose.yml:

# File: docker-compose.yml
version: '3.2'

services:
  blog:
    image: kelvinblood/jekyll:v4.2.2
    command: jekyll s
    network_mode: bridge
    container_name: blog
    restart: "no"
    volumes:
      - ./:/srv/jekyll
    environment:
      JEKYLL_UID: 1000
      JEKYLL_GID: 1000
      JEKYLL_ENV: production

参考资料


Mac 10.15 catalina 安装docker 记录

背景

老电脑,发挥一下预热。

但是直接使用 brew install 或者 去官网下载都不OK了。因为苹果官方已经放弃支持 10.15 catalina 了,上下游也不支持了。

除了 docker desktop,也有第三方的 docker 软件,比如 limaorbstack,也是不支持Mac老系统,😮‍💨。

根据 stackoverflow: Install docker on macos catalina 的提示,直接下载老版本的docker desktop即可:

我下载了 x86 的做个备份

安装后可以用.

image-20240102170633951

image-20240102170641362


苹果开发者账号添加团队成员

背景

近期在处理苹果开发账号相关的事情,包括添加团队成员、创建使用证书、编译打包、真机测试安装、提交审核上架等。

目前是公司内部团队进行开发,账号类型为公司账号,添加一个团队成员协同开发。

苹果开发者账号下的团队成员有三种角色:

  • Team Agent (代理) 就是申请注册开发者账号的那一个,权限最高,续费和创建开发商证书只能使用该账号。
  • Admin (管理) 管理分发证书、管理测试设备、管理应用配置等等。
  • Member (成员) 没有管理权限,只能下载和请求数据,只能做开发过程中真机调试。

官方帮助:https://developer.apple.com/cn/help/account/manage-your-team/invite-team-members/

步骤

  1. appstore connect

    image-20231229161007400

  2. 邀请

    注意要选择可以访问 访问证书、标识符和描述文件,不过 云端管理的分发证书这个看情况。

    image-20231229161053322