先週開発者向けに配信されたiOS 10.3ベータ版には、アプリ互換性に関する警告が更新され、32ビットアプリが将来のiOSバージョンで動作しなくなる可能性があることをユーザーに警告しています。これは、iOS 11では非64ビットアプリのサポートが停止される可能性が高いことを示唆しています。2015年6月、Appleは開発者に対し、App Storeに提出するすべてのアプリとアプリのアップデートには、32ビットコードに加えて64ビットサポートも含める必要があると警告していました。
ユーザーが32ビットアプリを起動すると、iOS 9では「64ビットデバイスで32ビットソフトウェアを使用するとシステムパフォーマンスに影響が出る可能性がある」という警告が表示されます。iOS 10.3 beta 1ではこの警告の文言が変更され、32ビットアプリは将来のiOSバージョンでは完全に動作しなくなる可能性があると明記されています。
新しいプロンプトは次のようになります。
このアプリはiOSの将来のバージョンでは動作しません。このアプリの開発者は、互換性を向上させるためにアップデートを行う必要があります。
比較のために、前回のプロンプトを以下に示します。
このアプリは64ビット版にアップデートされていません。使用するとシステム全体のパフォーマンスに影響する可能性があります。
Apple設計のA7以降のプロセッサを搭載したiOSデバイスは64ビットです。これには、第6世代iPod touch、iPhone 5s以降のすべてのiPhoneとiPad、そしてiPad Airが含まれます。これは、従来の32ビットアプリと最新の64ビットアプリを並行して実行すると、確かにシステムの速度が低下するため、待望の変更と言えるでしょう。
64ビットデバイスでは、システムはカーネル、ライブラリ、ドライバーの64ビット版を使用します。ユーザーが32ビットアプリを起動すると、システムフレームワークの32ビット版も別途読み込まれるため、メモリに負担がかかり、リソースが消費されます。
iOS 11が提案通り32ビットアプリのサポートを停止した場合、開発者はApp Storeから削除されるのを避けるために互換性アップデートをリリースする動機が強まるでしょう。iOS 11では64ビットアプリのみを強制することで、そもそも32ビットフレームワークを読み込む必要がなくなるため、理論上は全体的なメモリ使用量が削減されるでしょう。
アプリの起動が高速化し、マルチタスクがよりスムーズになります。
「組み込みアプリはすべてすでに 64 ビット ランタイムをサポートしているため、64 ビット デバイスで実行されるすべてのアプリ、特にバックグラウンド処理をサポートするアプリを 64 ビット ランタイム用にコンパイルすることは、すべての人にとって有益です」と Apple は 2015 年に開発者に伝えました。
2015 年 2 月より、Apple は提出されるすべてのアプリが 64 ビット アーキテクチャをサポートすることを要求しました。
App Store の多くのアプリが長年互換性のために更新されていないという事実 (32 ビット アプリがこれに該当します!) により、Apple はここ数か月で、古くなったアプリや互換性のないアプリの数万個をひっそりと削除し始めました。
Apple は、アプリを 64 ビット アーキテクチャに移植する方法を詳しく説明した移行ガイドを開発者に提供しています。