天猫精灵提交工单流程

前阵子做天猫精灵云云接入,有几个问题,但是在AliGenie开发者平台找了很久都没有找到提问的地方,最终通过添加钉钉AliGenie开发者答疑交流群,在里面提问,才知道天猫精灵的问题需要提交工单。添加工单的流程在群文件中,为了方便查找,在此再次记录下。
阿里的工单回复还是挺快的,快的话,半个小时内就会回复。

今天(2020-09-21)发现了更快捷的方式,直接打开精灵智能开发平台这个链接,可以选择问题类别后提交工单。如果不行,请按下文操作。

我为什么要购买 Mac Studio?

3 月 9 日苹果发布了一款使用 M1 芯片的新产品 Mac Studio,它是一款主机。发布之前我就猜测苹果会发布一款 Mac mini Pro,Mac Studio 性能上不就是 Mac mini 的加强版吗,外观上不就是长高的 Mac mini 吗。
Studio 就是工作室的意思,从发布会来看,真的很香,除了不够便携,其他的我都挺满意的,而且我也缺一台 M1 芯片的电脑,因此开放订购第一天我就购买。

Read more

The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Project Settings.

升级到 Xcode 13.2.1 运行项目报错:

1
2
The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Project Settings.  
旧版构建系统将在未来的版本中删除。 您可以在文件 > 项目设置中配置选定的构建系统和此弃用消息。

其实报错信息已经很明显了,按照报错信息去解决就可以了。

frp 实现内网穿透将内网 WebService 接口绑定自定义域名供外网访问

要将内网的 WebService 接口提供给外网访问,最简单又免费的方式就是通过 inconshreveable/ngrok: Introspected tunnels to localhost,ngrok 通过一条命令就可以实现内网穿透,并且不需要服务器。但是它有如下缺点:

  • 免费版本不支持自定义域名,每次执行命令后域名都是随机分配的。
  • 目前官方的已经升级到了2.x,已经不开源了。1.x 版本是开源的,但不再更新,目前最新的开源版本是 1.7.1。
  • ngrok 1.x 版本作者也说了有严重的内存、文件描述符泄漏等问题,国内的那些服务用的都是这个版本的客户端,稳定性很差。

我主要是是因为 ngrok 不能自定义域名,每次重启后重新执行命令生成的域名又变了,这样联调时对方又得更换接口地址,很尴尬的。

于是我找到一款和 ngrok 类似的软件 fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.,它能满足我的需求,但是使用它没有服务器似乎不行(当然我也不清楚作者有没有提供仅使用客户端的平台化服务),当然自己待建服务端个性化更强也更安全。

Read more

iOS 项目 Build 时报错 Library not found for -lstdc++.6.0.9

Xcode 升级到 Xcode 10.0 后,由于去掉陈旧的 libstdc++ 库替换为 libc++,libstdc++.6.0.9就被删除了。
libc++ 相对是苹果最新版的 C++ 库,经过优化并全面支持 C++ 11。

如何解决我就不重复写了,直接看 Kila2/libstdc-.6.0.9.tbd: libstdc++.6.0.9.tbd,写得很清楚了。

怎么修改 Xcode Run Script 使用 RVM 管理的 Ruby 版本?

Xcode Run Script 使用的 Ruby 版本是 macOS 自带的 Ruby,如果你用 RVM 切换了别的 Ruby 版本,Xcode 使用的 Ruby 还是系统自带的,不会有变化。
那么这会造成什么影响呢?

比如你用 RVM 管理的 Ruby 通过 gem 安装了在 Xcode Run Script 中需要使用的 Sass,那么在 Xcode 中 Sass 命令将执行失败,你会得到 command not found: sass 或如下错误:

1
2
3
4
5
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem sass (>= 0.a) with executable sass (Gem::GemNotFoundException)
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
from /usr/local/bin/sass:23:in `<main>'
from /usr/local/bin/ruby_executable_hooks:22:in `eval'
from /usr/local/bin/ruby_executable_hooks:22:in `<main>'

如果你不清楚这些,你就很难搞清楚你明明安装了 Sass,而且在终端可以执行,却为什么在 Xcode 中却不行。

Read more

解决安装 RVM 遇到的问题

Ruby 版本管理器 (RVM)
RVM 是一个命令行工具,可让您轻松安装、管理和使用从解释器到 gems 的多个 ruby 环境。

我基本上不做 Ruby 开发,但是很多开发都依赖 Ruby 开发的工具或包,比如 Cocoapods、Sass 等。RubyGems 是 Ruby 的包管理器,我们可以通过它安装这些工具或包。

CocoaPods 是 Swift 和 Objective-C Cocoa 项目的依赖管理器。它拥有超过 87,000 个库,并在超过 300 万个应用程序中使用。CocoaPods 可以帮助您优雅地扩展您的项目。

Sass 是世界上最成熟、最稳定、最强大的专业级 CSS扩展语言。

我写的这篇文章 Error installing cocoapods: cocoapods-core requires Ruby version >= 2.6. The current ruby version is 2.5.8.224. - 干志雄的博客,就是因为 Ruby 版本过低导致不能安装最新的 Cocoapods,因此我需要更新 Ruby,macOS 自带的 Ruby 可以通过 Brew 来更新,如果你想管理多个版本的 Ruby,就可以通过 RVM。因为我担心直接更新系统自带的 Ruby 会影响到现有环境,所以我用 RVM 来管理。