OPTPiX Labs」カテゴリーアーカイブ

macOS Catalinaにおけるアプリの「公証(Notarization)」への対応方法

こんにちは
ウェブテクノロジR&Dの佐藤 伸です。

2020年2月以降、macOS 10.15 “Catalina” では、「公証(Notarization)」を受けていない(安全性が確認されていない)アプリは実行できなくなってしまうのですが、ご存知でしたでしょうか。

GateKeeperにより実行を止められたときのダイアログ

これにより、ダウンロードしたアプリの安全性が実行前に確認されるようになるため、ユーザーはより安心してアプリを利用できるようになります。

しかしアプリが公証を受けていないと、ユーザーはそのアプリを突然使えなくなってしまうわけですから大問題です。アプリ開発者には、なるべく早急に公証を受け、アプリをアップデートすることが求められます。

この記事では、macOSアプリで公証を受ける手順についてご紹介します。

続きを読む

カテゴリー: Mac, OPTPiX Labs, 開発・プログラミング | | 2019/12/23 更新

Microsoftの新しい入力デバイス「Surface Dial」を自作Windowsアプリで使うには

開発担当の橋本孔明です。

昨年10月、Microsoftの発表会において、同社のフラグシップ タブレットPCとなるSurface Studioに加え、Surface Dialという新しい入力デバイスが発表されました。

オーディオ アンプのボリュームのような外観をしているSurface Dialは、主に回転入力を受け取って何らかのUI操作を行うためのデバイスですが、机の上に置いて使う通常の方式に加え、Surface Studio(およびシステム アップデートを行ったSurface BookとSurface Pro 4)の画面上に置いて使うことで、その位置に直接UI要素を表示し、直感的に操作できるというのが特徴です。

Microsoftのデモンストレーションでは、主にペイント系やベクター系のグラフィックス ツールと組み合わせ、ペンの太さや選択色といった操作コンテキストの切り替えに活用するストーリーが紹介されていました。

Surface Dialは、その名称や一部の紹介記事などにより、「対応するSurfaceシリーズと組み合わせないと使えない」という誤解をされている場合も見られるようですが、そのようなことはありません。Windows 10 Anniversary Update(バージョン1607)以降であれば他のコンピューターでも問題無く使用することができます。Surfaceシリーズ以外での制限事項は「画面上に置く」使い方ができないことだけです。

去る6月15日、Surface StudioとともにSurface Dialも日本での正規取り扱いが開始され、10,000円強という価格で国内でも入手できるようになりました。 続きを読む

カテゴリー: 開発・プログラミング | タグ: , , , | 2018/08/01 更新

Chromeの対応で活用の幅が広がりそうなアニメーション画像「APNG」についてまとめてみました

ウェブ担当の嶋です。

先日Google ChromeやOperaがAPNG(アニメーションPNG)に対応しました。ブラウザでアニメーション画像を表示する場合、アニメーションGIFやmp4などの動画ファイル、そしてHTML5を利用したアニメーションなどが選択肢にあがりますが、これに一つフォーマットが追加されたということになります。

なぜ今APNGなのか。そしてアニメーション画像としてAPNGを使うメリットはどこにあるのか、ちょっとまとめてみました。

※ 本エントリーではAPNG画像を使用しています。対応していないブラウザ(Internet Explorer等)で見た場合はアニメーションしない静止画として表示されますのであらかじめご了承下さい。また、本エントリーの情報は2017年7月現在の情報です。 続きを読む

カテゴリー: 画像形式 | タグ: , , , , | 2020/01/23 更新

AWS: Amazon CloudWatch Monitoring Scripts for Linux へinode情報を追加してみた

ウェブテクノロジのサーバやネットワークのお守りをしている yone です。

AWS: Amazon EC2 インスタンスのモニタリング(監視)ツールとして、「Amazon CloudWatch Monitoring Scripts for Linux」が公開されています。

https://aws.amazon.com/jp/code/amazon-cloudwatch-monitoring-scripts-for-linux/

このモニタリングツールでは、メモリ・Swap・Disk Space をCloudWatch メトリクスへ登録し、監視できるようになっているのですが、inode情報もモニタリングしたいなと思い、登録できるようにしてみました。 続きを読む

カテゴリー: サーバー管理 | タグ: , , , , | 2018/08/01 更新

Android,iOSアプリ用画像リソースとアイコンサイズのまとめ [2018年10月更新]

R&D部の佐藤伸です。

スマートフォンのアプリ開発では、さまざまな解像度の端末に対応する必要があるために、複数の解像度の画像リソースを用意する必要があります。
詳細は本ブログ2014年5月の記事「Android,iOSアプリ用画像リソースとアイコンサイズのまとめ」でも解説いたしましたが、その後の新端末の登場などにより情報が若干古くなってしまいましたので、ここで現時点(2017年10月)での最新データを元に再度まとめてみました。

スマホアプリ開発の助けになれば幸いです。

【2018/10/31追記】 iOS関連の情報ですが、iOS 12 および iPhone XS/XS Max/XR は、それ以前(iOS 11 および iPhone X/8)からの変更はありませんでした。

Android アプリで必要な画像リソース

Android では、ディスプレイの Density (dpi=dot per inch; 表示密度)にあわせて、アプリが使用する画像リソースを自動的に切り替えたり、拡縮したりするようになっています。2017年10月現在、以下の6種類の Density が定義されています。

2017年10月現在の最新OSバージョンは「Android 8.0 (API Level 26)」となっています。
解像度については、過去の記事(2014年5月)から特に変更はありません。

Density dpi 備考
xxxhdpi(Extra-extra-extra!-high density) ~640 主にWQHD(2560×1440) 解像度用。Android 4.3 からサポート (*1)
xxhdpi(Extra-extra!-high density) ~480 主にフルHD(1920×1080) 解像度用
xhdpi(Extra-high density) ~320 主にHD(1280×720) 解像度用
hdpi(High density) ~240 日本国内では、一部の機種のみになっている
mdpi(Medium density) ~160 基準となる解像度だが、最近の機種では不要
ldpi(Low density) ~120 最近の機種では不要

(*1) 現在、4K解像度(3840×2160ピクセル)の端末として「Xperia Z5 Premium」があります。この機種は5.5″ 4K解像度(約800dpi)のLCDを搭載していますが、4K解像度が機能するのはメディア再生のときのみで、アプリからは xxxhdpi として見えるようです。

Density アイコンのピクセルサイズ 画像リソースのサイズ比率
xxxhdpi 192 x 192 400%
xxhdpi 144 x 144 300%
xhdpi 96 x 96 200%
hdpi 72 x 72 150%
mdpi 48 x 48 100%(基準)
ldpi 36 x 36 75%
丸アイコンの追加 【2017/10/03追記】

Android 7.1 から、アプリのアイコンに丸いアイコンが追加されました。
AndroidManifest.xmlで従来のiconの他にroundIconを指定しておくと、対応デバイスで丸いアイコンが表示されます。

<application
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"

roundIconに丸くないアイコンを指定しても丸くはなりませんでした。

Android アプリの画像リソース容量を削減するにはPNG8 かWebP を使う

Android の画像リソース(アイコンも)にはJPEG形式を使うこともできますが、JPEG は写真のような画像の圧縮には向いているものの、アプリで使用するアイコンやUI画像の圧縮には向いていません。また、JPEGではアルファ(半透明)も使えません。アイコンやUI 画像の圧縮にはPNG、特にPNG8(8bitPNG) が向いています。ただし、PNG8を使う場合は、高画質で減色できるツールを使う必要があります。
アプリがAndroid 4.0 以降のみのサポートであれば、ダイレクトカラー(32bpp,24bpp)のリソースは、PNG よりさらに圧縮率の高いWebP(LossLessモードがベスト) を使うこともできます。

 

iOS アプリで必要な画像リソース

iOS の画像リソースは 以前は Retina 用と非 Retina 用の区別のみでした。現在は、 iPhone 6 Plus の登場により、更に高解像度の「Retina HD 5.5」が追加され、従来の Retina 用は「Retina HD 4.7」と呼ぶようになっています。

【追記】2016/3/31、iPhone SEとiPad Pro 9.7インチが発売されました。iPhone SEの解像度はiPhone 5/5s/5cと同じ1136×640ピクセルで「Retina HD 4.7」扱いになります。

  • iPad Pro 9.7インチは解像度は2048×1536ピクセルで、こちらも「Retina HD 4.7」扱いになります。

【追記】2017/9/13、iPhone XiPhone 8が発表されました。iPhone X から「Super Retina HD 5.8」が追加されました。

  • iPhone X 5.8インチは解像度は2436×1125ピクセルで、「Super Retina HD 5.8」扱いになります。
  • iPhone 8 Plus 5.5インチは解像度は1920×1080ピクセルで、「Retina HD 5.5」扱いになります。
  • iPhone 8 4.7インチは解像度は1334×750ピクセルで、「Retina HD 4.7」扱いになります。

各解像度の画像リソースのサイズ比率は下記のようになっています。【2018/10/31更新】

Resolution 画像リソースの
サイズ比率
対象機種 ファイル名
サフィックス
Super Retina HD 5.8 300% iPhone X/XS/XS Max/XR @3x
Retina HD 5.5 300% iPhone 6 Plus, iPhone 6S Plus, iPhone 7, iPhone 8 Plus @3x
Retina HD 4.7 200% 上記以外の Retina iPhone/iPad @2x
Standard 100%(基準) 非Retina iPhone/iPad なし

続いて、iOS で必要なアイコンのサイズ一覧です。
ファイル名末尾に、Retina HD 4.7 用は “@2x”、Retina HD 5.5 用は “@3x” が付いています。

アイコン種別 アイコンの
ピクセルサイズ
ファイル名
iPhoneアプリアイコン@2x 120 x 120 Icon-60@2x.png
iPhoneアプリアイコン@3x 180 x 180 Icon-60@3x.png
iPadアプリアイコン 76 x 76 Icon-76.png
iPadアプリアイコン@2x 152 x 152 Icon-76@2x.png
iPad Proアプリアイコン@2x 167 x 167 Icon-83.5@2x.png
iPad設定アイコン 29 x 29 Icon-Small.png
iPhone&iPad設定アイコン@2x 58 x 58 Icon-Small@2x.png
iPhone設定アイコン@3x 87 x 87 Icon-Small@3x.png
iPadスポットライトアイコン 40 x 40 Icon-Small-40.png
iPhone&iPadスポットライトアイコン@2x 80 x 80 Icon-Small-40@2x.png
iPhoneスポットライトアイコン@3x 120 x 120 Icon-Small-40@3x.png
iPadAppStoreアイコン 512 x 512 iTunesArtwork
iPadAppStoreアイコン@2x 1024 x 1024 iTunesArtwork@2x
iPhone通知アイコン (iOS 10以降) 40 x 40 iPhone-20@2x.png
iPhone通知アイコン (iOS 10以降) 60 x 60 iPhone-20@3x.png
iPad通知アイコン (iOS 10以降) 20 x 20 iPad-20@1x.png
iPad通知アイコン (iOS 10以降) 40 x 40 iPad-20@2x.png
iPhone&iPadアプリストアアイコン (iOS 11以降) 1024 x 1024 Icon-1024.png

【2017/10/03更新】2017年10月月現在では、iOS 9 以前のシェアは9%以下にまで減少しているため、一覧からは除外しました。

iOS アプリの画像リソース容量を削減するにはPNG8 を使う

iOS の場合、アイコンはPNG 形式のみサポートされています。画像リソースにはJPEG も使えますが、Android の項で書いたように、アプリで使用するUI 画像の圧縮にJPEG は向いていません。アイコンやUI 画像の圧縮にはPNG、特にPNG8(8bitPNG) が向いています。ただし、PNG8 を使う場合は、高画質で減色できるツールを使う必要があります

画像リソースの効率的な作成方法

画像最適化ツール 『OPTPiX imésta 7 for Mobile & Social』に搭載されているApp リソース画像一括生成機能を使えば、Android・iOS アプリで必要なアイコンと画像リソースを元の画像から一発で変換することができます。 しかも、高画質な減色ができるため、品質を保ったままファイルサイズを抑えた画像を作成可能です。
画像の拡大縮小も、Lanczos3 というアルゴリズムを使用するので高画質です。

カテゴリー: スマートフォン開発 | タグ: , , , , | 2018/11/12 更新