XcodeのOrganizerで証明書が合致しないと叱られた
3ヶ月放置してしまいました。ちゃんと仕事はしてたんですが。
表題の通り、久しぶりに testflight を出さなくてはならないと言う次第ですが Organizer で Validate Appの際に叱られました。
private keys are not installed
権限をもらってApple Developerへアクセスすると、プロファイルが Expired
これか?と、プロファイルを作り直す。
XCodeに戻り、CapabilityのSigningにて証明書を選び直す。
…状況変わらず。
ここでOrganizerの証明書の叱られた画面の+ボタンのところをクリック
おぉ、ここで読み込んでくれるのか!
と言う次第で事なきを得ました。
-----
花見の季節には収束するだろうと鷹括ってたら、二子玉川の花火すら危ないんじゃないか事態です。
個人的には世田谷ボロ市くらいまで諦めてますが。
ただたまに会議に呼び出された以外は平素からリモートワーク。
某クラウドテックさんの出向案件に出ていた主人がその出向先からリモートワークを命じられたのと、
外に出る時はマスク必須なのと、
買い出しの頻度を極力抑えなければならない以外は
変わらず仕事はあるので粛々と暮らしております。
(いろいろあってありすぎて会議に呼び出されることすら無くなりそうな気配ですが…)
あるLinuxサーバが突如として動作しなくなった話
XPDFのpdftopngで出力したpng画像が再び豆腐のように真っ白だった話
同じサーバなのに再び踏んだよ。
どういうことかというと。
- 上記記事ではターミナルで検証していた
- ターミナルでのログインユーザは「ec2-user」ユーザ、$HOMEディレクトリは /home/ec2-user
- 但し本懐はphp内からexec()で実行したかった
- phpを実行しているのは「apache」ユーザ、$HOMEディレクトリは/var/www
- つまり「apache」ユーザがpdftopngを使う際のフォント設定がされていなかった
- そこで、/var/www/.xpdfrcという設定ファイルが必要だった
# 2. in a system-wide directory, typically /usr/local/etc/xpdfrc
でも良かったんですが、system-wide directoryってどこやねん?と思いここで妥協しましたw
XPDFのpdftopngで出力したpng画像が豆腐のように真っ白だった話
今回のオーダーはPDFファイルのプレビュー画像をよしなに生成しろとのこと。
imagemagickを使う方法もあったのですがサーバ負荷が高いのでXPDFを利用。
この辺に従う。今回も開発環境はamazon lightsailにamazon linuxを入れたものなので、
Xpdf command line tools というの(ファイル名がxpdf-tools-linux-x.xx.tar.gzとか)をwgetして展開してインストール。
よしなに配置されると、
pdftopng pdfファイル 出力先フォルダ
このようなコマンドで画像が生成されます。
されるんだが…いざ画像を開いたら、豆腐のように真っ白。
裏を取ってみると、
Config Error: No display font for 'Courier' Config Error: No display font for 'Courier-Bold' Config Error: No display font for 'Courier-BoldOblique' Config Error: No display font for 'Courier-Oblique' Config Error: No display font for 'Helvetica' Config Error: No display font for 'Helvetica-Bold' Config Error: No display font for 'Helvetica-BoldOblique' Config Error: No display font for 'Times-Bold' Config Error: No display font for 'Times-BoldItalic' Config Error: No display font for 'Times-Italic' Config Error: No display font for 'Times-Roman'
このように叱られていました。
Configとは誰じゃ。調べると、先程wgetして展開したxpdf-tools-linux-x.xxとかいうフォルダのdocフォルダ内にいる
sample-xpdfrc
このファイルによると…
# Sample xpdfrc file # # The Xpdf tools look for a config file in two places: # 1. ~/.xpdfrc # 2. in a system-wide directory, typically /usr/local/etc/xpdfrc
どちらかのフォルダに記述しないとならないようです。ならば
cp $HOME/xpdf-tools-linux-x.xx/doc/sample-xpdfrc $HOME mv sample-xpdfrc .xpdfrc
と実行して該当のファイルを作ります。
ファイル内にこのようにフォントのありかが記述されており、しかもコメントアウトされているのでコメントを外す。
フォントファイルの実体がいないと意味がないので、探してきてwgetしましたよ。
#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb #fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb #fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb #fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb #fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb #fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb #fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb #fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb #fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb #fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb #fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb #fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb #fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb #fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
んで再度コンバート…あれ?
Syntax Error: Couldn't find a font for 'Helvetica' Syntax Error: Couldn't find a font for 'Helvetica'
なんでやねん…。落としたフォントファイルがダメだったのか。
果たして、ほんとに入ってないのかなんなのかコンピュータ内を探してみる。
$ fc-match Helvetica DejaVuSans.ttf: "DejaVu Sans" "Book"
いるじゃん。ちゃんといるじゃん。
ならば、と記述変更。
この DejaVuSans.ttf は、私の環境では /usr/share/fonts/dejavu/ にいる。
コンピュータに元々持ってるフォントで書き換えてみます。
fontFile Times-Roman /usr/share/fonts/dejavu/DejaVuSerif.ttf fontFile Times-Italic /usr/share/fonts/dejavu/DejaVuSerif-Italic.ttf fontFile Times-Bold /usr/share/fonts/dejavu/DejaVuSerif-Bold.ttf fontFile Times-BoldItalic /usr/share/fonts/dejavu/DejaVuSerifCondensed-BoldItalic.ttf
そして再コンバート…やった、解決。
多分運用環境を作るときにまた手間取るだろうので、メモ書き。