TestFlight インストールできませんでした

App Store Connect の TestFlight から個人テスターを追加し、
個人テスターのスマホアプリの TestFlight から テストするアプリをインストールしようとすると、
「インストールできませんでした」と表示され、インストールできなかった。

原因は、App Store Connect の TestFlight の個人テスターのステータスの項目が、「利用可能なビルドなし」となっていた為。

App Store Connect の TestFlight の グループ の方にテスターを追加す
るとインストールできるようになった。

個人テスターのステータスが「利用可能なビルドなし」となっていた理由は、Appleの審査中だった為のようです、一日たって審査が終わると個人テスターの TestFlight からもインストールできるようになりました。

stoplight studioのMacアプリインストール

stoplight studioの公式サイトが更新されどこからMac版のアプリがダウンロードできるのか分からなくなっていた。

なので、brewでインストールする。

stoplight studioのインストールコマンド。

1
brew install --cask stoplight-studio

Xdebug コンディショナルブレークポイント

コンディショナルブレークポイント(Conditional Breakpoint)の機能を使えば、特定の条件の時のみ、ブレークポイントで止めることができる。

PHPStormの場合、ブレークポイントを設定してそれを右クリックするとConditionの入力エリアが出てくるので、そこにブレークポイントを止めたい場合の条件を設定する。

(例) $valueがbarの時のみブレークポイントで止める。

phpのissetとemptyとis_nullの違い

issetは返り値に対してチェックを行うとエラーになる。

1
2
これは、Fatal errorになる。
isset(bar());

emptyとis_nullは返り値に対してチェックができる。

1
2
3
これは、OK.
empty(bar());
is_null(bar());

なので、!empty(bar())とかがあって、isset(bar())のほうが否定(反転)がとれてリーダブルコードじゃんとか思って変更するとエラーになるw

Error: creating ELBv2 Listener 〇〇〇: UnsupportedCertificate: The certificate 〇〇〇 must have a fully-qualified domain name, a supported signature, and a supported key size.

terraform でACMをALBのリスナーに設定する下記のようなコードの一部があり、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
〜〜〜

resource "aws_lb_listener" "https" {
load_balancer_arn = aws_lb.alb.arn
port = "443"
protocol = "HTTPS"
certificate_arn = aws_acm_certificate.aws-qualification.arn
ssl_policy = "ELBSecurityPolicy-2016-08"
default_action {
type = "forward"
target_group_arn = aws_lb_target_group.ec2.arn
}
}

〜〜〜

terraform applyをすると、下記のようなエラーが表示されました。

1
2
3
4
5
6
7
8
Error: creating ELBv2 Listener 〇〇〇: UnsupportedCertificate: The certificate
〇〇〇 must have a fully-qualified domain name, a supported signature, and a
supported key size.
│ status code: 400, request id: 〇〇〇

│ with aws_lb_listener.https,
│ on alb.tf line 71, in resource "aws_lb_listener" "https":
│ 71: resource "aws_lb_listener" "https" {

原因はエラーメッセージの内容とは異なり、作成されたACMの検証が完了できていない為でした。
ですので、depends_onを利用して、先程のコードの一部を下記のように更新してALBのリスナーの作成がACMの検証済みとなることを待つようにしました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
〜〜〜

resource "aws_lb_listener" "https" {
load_balancer_arn = aws_lb.alb.arn
port = "443"
protocol = "HTTPS"
certificate_arn = aws_acm_certificate.aws-qualification.arn
ssl_policy = "ELBSecurityPolicy-2016-08"
default_action {
type = "forward"
target_group_arn = aws_lb_target_group.ec2.arn
}

depends_on = [aws_acm_certificate_validation.standby]
}

resource "aws_acm_certificate_validation" "standby" {
certificate_arn = aws_acm_certificate.aws-qualification.arn
}

〜〜〜

そうして、terraform applyをすると、下記のようなメッセージが出力されACMの検証済みとなることを待つようになります。

1
2
3
aws_acm_certificate_validation.standby: Creating...
aws_acm_certificate_validation.standby: Still creating... [10s elapsed]
aws_acm_certificate_validation.standby: Still creating... [20s elapsed]

待っている間に、作成されたACMのドメイン、タイプ、CNAME名、CNAME値の内容で、Route53の対象のホストゾーンにレコードを作成する。
そうすると、検証が成功し、terraform applyの処理が最後まで進む。

Error: reading ELBv2 Load Balancer 〇〇〇 ValidationError: 〇〇〇 is not a valid load balancer ARN status code: 400, request id: 〇〇〇

terraform applyを行うと、このようなエラーがでました。

1
Error: reading ELBv2 Load Balancer (arn:aws:elasticloadbalancing:〇〇〇): ValidationError: 'arn:aws:elasticloadbalancing:〇〇〇' is not a valid load balancer ARN status code: 400, request id: 〇〇〇

原因は、私がterraformのデプロイ先のawsアカウントを、以前のものとは別の新しいawsアカウントに新たにデプロイを作成しようとしている為でした。
terraformが以前のアカウントで作成したelbを確認しようとしているけど、新しいawsアカウントにそのリソースが無いので、status code 400でエラーになっているのだと思います。
ですので、ローカルのterraform.tfstateを削除して、以前の構築した状態を削除すると新しいawsアカウントにデプロイができるようになりました。

“terraform”を開くとコンピュータが破損します。 ゴミ箱に入れる必要があります。

macでterraformを実行しようとすると、急にこの警告が出てくるようになりました。

terraformを再インストールすることで警告が出なくなりました。
tfenvでterraformをインストールしていたので、
tfenv listでバージョンを確認して、1.2.3だったので

1
2
3
tfenv uninstall 1.2.3

tfenv install 1.2.3

で再インストールすることでエラーが表示されなくなりました。

Hexoで画像を表示する

_config.ymlをpost_asset_folder: trueにする。

hexo new {記事title}の時に source/_postsディレクトリ以下に{記事tile}のディレクトリができるので、
そのディレクトリ内に画像を配置。

1
{% asset_img 画像名 記事名 %}

のタグで表示できます。

画像名や記事名にスペースがふくまれる場合、ダブルクォーテーションで囲ってください。

1
{% asset_img "画像名" "記事名" %}

参考url

https://hexo.io/docs/asset-folders#Tag-Plugins-For-Relative-Path-Referencing