iOS SDK(iOSソフトウェア開発キット)は、以前はiPhone SDKと呼ばれていたもので、 Apple Inc.が開発したソフトウェア開発キット(SDK)です。このキットを使用することで、AppleのiOSおよびiPadOSオペレーティングシステム上でモバイルアプリを開発できます。
iOS SDKは、Macintosh(またはMac)パソコンのユーザー向けに無料でダウンロードできます。Microsoft Windows PCでは利用できません。SDKには、開発者がiOSデバイスのハードウェアやソフトウェア属性などのさまざまな機能やサービスにアクセスできるセットが含まれています。また、開発中にコンピュータ上でデバイスの外観や操作感を再現できるiPhoneシミュレータも含まれています。SDKの新しいバージョンは、iOSの新しいバージョンと同時にリリースされます。アプリケーションのテスト、テクニカルサポートの取得、App Storeを通じたアプリの配布を行うには、開発者はApple Developer Programに登録する必要があります。
iOS SDKはXcodeと組み合わせることで、開発者がSwiftやObjective-Cなどの公式にサポートされているプログラミング言語を使用してiOSアプリを作成するのに役立ちます。他の企業も、それぞれのプログラミング言語を使用してネイティブiOSアプリを開発できるツールを開発しています。
2007年の発表に先立ち、当初iPhoneを開発していた当時AppleのCEOだったスティーブ・ジョブズは、サードパーティの開発者がiOSオペレーティングシステム用のネイティブアプリを開発することを許可するつもりはなく、代わりにSafariウェブブラウザ用のウェブアプリケーションを作成するように指示していた。[ 1 ] しかし、開発者からの反発を受けて同社は再考し、[ 1 ]ジョブズは2007年10月17日に、Appleが2008年2月までに開発者向けにソフトウェア開発キット(SDK)を提供すると発表した。 [ 2 ] [ 3 ] SDKは2008年3月6日にリリースされた。[ 4 ] [ 5 ]
iOS SDK はMacユーザー向けに無料でダウンロードできます。[ 6 ] Microsoft Windowsでは利用できません。[ 6 ] アプリケーションをテストしたり、テクニカル サポートを受けたり、App Storeを通じてアプリケーションを配布したりするには、開発者はApple Developer Programに登録する必要があります。[ 6 ]
SDKの内容は、以下のセットに分けられます。[ 7 ]
SDKには、開発者のコンピュータ上でiPhoneの外観と操作感をシミュレートするために使用されるプログラムであるiPhoneシミュレータも含まれています。[ 7 ]
iOS SDKはXcodeと組み合わせることで、開発者がSwiftやObjective-Cなどの公式にサポートされているプログラミング言語を使用してiOSアプリケーションを作成するのに役立ちます。[ 10 ]
.ipa(iOS App Store Package)ファイルは、iOSアプリを格納するiOSアプリケーションアーカイブファイルです。
2008年、Sun MicrosystemsはJava Platform Micro EditionバージョンのJavaをベースにしたiOS向けJava仮想マシン(JVM)をリリースする計画を発表しました。これにより、iPhoneとiPod TouchでJavaアプリケーションを実行できるようになります。 [ 11 ] 発表後まもなく、SDKの契約条件に精通した開発者たちは、サードパーティ製アプリケーションがバックグラウンドで実行できない(例えば、電話に出てもアプリケーションを実行できない)こと、[ 12 ]アプリケーションが別のソースからコードをダウンロードできないこと、また、アプリケーションがサードパーティ製アプリケーションとやり取りできないことから、Appleの協力なしにはSunの開発努力が妨げられる可能性があると考えました。[ 13 ] Sunはまた、iPhoneにJavaを搭載するためにInnaworksというサードパーティ企業とも協力しました。[ 14 ] Appleの関心が明らかに低いにもかかわらず、2007年のiPhoneリリースのファームウェアのリークにより、組み込みJava実行用のJazelleをサポートするプロセッサを搭載したARMチップが明らかになりました。[ 15 ]
Novellは2009年9月に、 Appleの要件との互換性を維持しながら、開発者がC#と.NETプログラミング言語でネイティブiPhoneアプリケーションを作成できるソフトウェアフレームワークであるMonoTouchの開発に成功したと発表した。[ 16 ]
iOS はAdobe Flashをサポートしていません。[ 17 ] Adobe はFlash と Flash Lite の 2 つのバージョンのソフトウェアを提供していますが、Apple はどちらも iPhone には適していないと考えており、フル Flash は「遅すぎて役に立たない」、Flash Lite は「Web で使用できない」と主張しています。[ 18 ] [ 19 ]
2009年10月、Adobeは、 Creative Suiteの次期アップデートで、開発者が同社のFlash開発ツールを使用してネイティブiPhoneアプリを構築できるコンポーネントが搭載されることを発表しました。[ 20 ]このソフトウェアは、同社のプロフェッショナル向けアプリケーションコレクションであるCreative Suite 5 の一部として正式にリリースされました。[ 21 ]
2010 年 4 月、 Apple はiPhone 開発者契約に物議を醸す変更を加え、開発者がApp Storeでアプリを公開するには「承認された」プログラミング言語のみを使用することを義務付け、サードパーティの開発ツールを使用するアプリケーションを禁止しました。この禁止は、Flash アプリを iOS アプリに変換する Adobe の Packager ツールに影響を与えました。[ 22 ] [ 23 ] 開発者の反発[ 24 ]と独占禁止法違反調査の可能性の報道[ 25 ]を受けて、 Apple は 9 月に再び契約を改訂し、サードパーティの開発ツールの使用を許可しました。[ 24 ] [ 26 ]
元々は「プロジェクト・マジパン」と呼ばれていた[ 27 ] Mac Catalystは、開発者がiPadOSアプリのエクスペリエンスをmacOSにもたらすのを支援し、基盤となるソフトウェアコードを2回書く必要がないようにすることで、iPadOSデバイス向けに開発されたアプリをMacに簡単に移植できるようにします。