開発者に悪い知らせ:Apple Mac App StoreがクロスプラットフォームのElectronアプリを廃止するよう指示

Table of Contents

開発者に悪い知らせ:Apple Mac App StoreがクロスプラットフォームのElectronアプリを廃止するよう指示

クロスプラットフォームのElectronフレームワークで構築されたアプリの開発者らは、AppleがMac App Storeの審査プロセスで彼らのアプリを拒否し始めており、度重なる規則違反を理由にApple開発者アカウントの取り消しを脅迫していると述べている。

この問題は8月に初めて提起され、Mac App Storeでの配信を希望するElectronアプリにのみ影響します。この問題は、日曜日に開発者ブログに投稿されたことで広く注目を集めました。

AppleのApp Storeレビューガイドラインでは、アプリケーションはパブリックAPIのみを使用できると長年規定されています。携帯電話およびコンピューターメーカーであるAppleは、自社利用のためにプライベートAPIを維持していますが、サードパーティ向けにはサポートしていません。

Apple が禁止している API には、、、、、、CAContextなどがありますCALayerHostNSAccessibilityRemoteUIElementNSNextStepFrameNSThemeFrameNSURLFileTypeMappings

Apple の警告にもかかわらず、macOS アプリを作成する人は、Mac App Store の外でそのようなアプリを自分で配布できるため、プライベート API とやりとりするコードを作成するリスクを負うことがあります。

Google Chromeブラウザのオープンソース基盤であるChromiumプロジェクトは、AppleのプライベートAPIと連携する主要なコードベースの一つです。また、ElectronアプリにはランタイムライブラリとしてChromiumが含まれています。

Electron には、ビルドが大きくメモリを大量に消費する傾向があるなど、いくつかの欠点がありますが、使い慣れた Web テクノロジを使用して、macOS、Linux、Windows 用のビルドを生成できる単一のコード ベースを作成できるという利点は、多くの場合、欠点を上回ります。

Apple はこれまで、Electron ベースのアプリケーションによるプライベート API の使用を拒否したことはなく (少なくとも一貫して拒否したことはありません)、おそらく Apple のレビュー プロセスに何か変更があったものと思われます。

The RegisterはAppleに現状の説明を求めたが、クパチーノのチームはコメント要請に応じなかった。変更のきっかけが何であれ、少なくともElectronアプリに関しては、長らく無視されてきたルールが今や施行されている。

また、GoogleにChromiumのプライベートAPIから移行する予定があるかどうかも尋ねました。これも回答はありませんでした。

電子

流行のElectronを使って、手間のかからないRSSバルチャーアプリを作った方法をご紹介します。

続きを読む

開発者にとって特に憂慮すべきなのは、今後のアプリ提出でもルール違反が続くと、Apple のウォールドガーデンから追放されるという警告を受けた開発者もいるということだ。「今後このアプリを提出する際に非公開 API を使い続ける、または隠蔽し続けると、Apple Developer アカウントが停止され、関連するすべてのアプリが App Store から削除される可能性があります。」

APIの取り締まり強化は、2010年にAppleがiOS 4.0のルール草案でObjective-C、C、C++、JavaScript以外のプログラミング言語に依存するiOSアプリを禁止した数か月前の状況を彷彿とさせます。開発者コミュニティからの批判を受け、Appleはより柔軟な要件を採用しました。しかし、セキュリティ上の懸念(例えばアプリの認証)に関する状況を見ると、Appleが今後この方針を緩めるとは考えにくいでしょう。

iPhoneメーカーがElectronに対する懸念を高めたことで、Slackなど広く使われているElectronベースのデスクトップアプリの今後のアップデートがAppleのレビュー担当者によってフラグ付けされるかどうかという疑問が生じている。

拒否を報告した開発者によると、Appleは特定の古いElectronビルドを推奨しており、それらは許容できるものと考えられています。これには、Electron SDKのバージョン3.0.0-beta.7、2.0.8、1.8.8、または1.7.16が含まれます。Electron SDKは現在バージョン7.0.1です。

オープンソースの Electron プロジェクトの貢献者は、問題となっている API の呼び出しを無効にする作業を行ってきたため、今後の Electron アップデートで Apple の要件に対応できる可能性があります。®

Discover More