Mac App StoreのOperaは挑戦的だった。

Mac App Storeの審査基準である"Mac App Store Review Guidelines"というのがあるのだけど、開発者として登録しないと文書が手に入らない。でも、既に内容については知られていて、別のサイトで公開されている(が、今もこうなのかは知らない)。

その中で、Operaは審査を通るはずがないと思われる項目がある。


ひとつはこれ。

2.5 Apps that use non-public APIs will be rejected

Cocoaになっていたからいいのかな?そんなもんなの?


もうひとつは、これ。

2.21 Apps may not use update mechanisms outside of the App Store.

Evernoteもサイトで配布する分とMac App Storeで配布する分と分けているように、当然Operaも中身をちょっと変えたんだろうなと思って、調べてみた。


そんなことなかった。


どういうことか。
実は昨年11月に、アドレスバーが変更された、ビジュアルマウスジェスチャーが搭載されたあのbuildから、Disable Opera Package AutoUpdateというのが用意された。*1
Mac App Store版は、この設定を利用してる。


Mac App StoreOperaをインストールすると、以下のフォルダにoperaprefs.iniがセットされた。

  • /Users/[ユーザー名]/Library/Application Support/Opera/custom/defaults

このiniには次のように書かれている。

Opera Preferences version 2.1
; Do not edit this file while Opera is running
; This file is stored in UTF-8 encoding

[User Prefs]
Disable Opera Package AutoUpdate=1

[ISP]
Id=Mac App Store Edition


toolbar.iniやdialog.iniを上書きして、アップデート用のメニューを表示させようとしたがうまくいかず、これが原因だと突き止めることが出来た。
つまり、Mac版のOperaは、最優先でこのiniを読み込んでOpera独自のアップデートを無効化するわけ。ちなみに、opera.comからダウンロードしたOperaでもこのファイルを削除しないと、Operaのオートアップデートを利用できない。


ってことで、Mac App StoreにあるOperaは独自のアップデート機構があるけど、一応使えない状態にしてあるよ、というか、ただファイルが追加されただけでOpera自体は何も変更されていないよ!
審査基準も"may not use"なので、まあ、大目にみて貰えたんじゃないかな。そもそもファイル弄らないとアップデートできないんだし。

おまけ

[ISP]の部分は、UAを変更するためのものだよ!一応分けているってことを示すためにやったのかな?

Opera/9.80 (Macintosh; Intel Mac OS X 10.6.6; U; Mac App Store Edition; ja) Presto/2.7.62 Version/11.01


んでもって、Operaの件で分かったことは、

  • アップデート機能があっても、表に出さなきゃいい。
  • Cocoa使ってたらなんとかなる。

ってことかな?ちょっといい加減?

*1:wowoさんのブログより http://my.opera.com/crckyl/blog/opera-config-opera-11-00-build-1094