Chrome アプリ開発メモ
拡張機能のページでプロジェクトを読み込んだときにこんなメッセージが出た.
'hoge' is only allowed for extensions and legacy packaged apps, but this is a packaged app.
'hoge'
というのは使おうとしていたChrome Apps APIのことで,色々ある.
このメッセージが言いたいことは,
- API
'hoge'
は拡張機能(extensions)または旧版のパッケージアプリ(legacy packaged apps)でのみ使える. - しかしこのプロジェクトは,現行のパッケージアプリ(packaged app)である.(→ つまりAPI
'hoge'
は使えない)
こんな状況下で,API 'hoge'
を使いたい場合は
- legacy packaged apps 化する
- appsではなくてextensions化する
のどちらかの方法が考えられる.しかし, legacy packaged appsはlegacyであり,既に廃止が決定されている.したがってextensionsにするしか道はない.
ちなみに,manifest.json のapp
フィールドが
"app": { "background": { "scripts": [ "background.js" ] } }
のような形をしていれば legacy ではなくて,
"app": { "launch": { "local_path": "index.html", "container": "panel" } }
であれば legacy な packaged apps である.
確かに後者はむかし(Chrome アプリが登場したての頃)よく書いていた気がする.