2017.08.14
OSの深層部分、知れば知るほど奥深い、macOSの仕組みを解き明かす。
フレームワークの魅力
これまでmacOSおよびiOSのシステム内部では、「Account.framework」というフレームワークでインターネットアカウントの管理、「Social.framework」というフレームワークでツイッターやフェイスブックなどインターネット上の著名サービスの利用の仕組みを提供してきました。
これらのようにOSに標準提供されるフレームワークの場合、アプリごとにサービスのパスワードといった秘密の情報を管理する必要がなくなるため、手軽にサービスと連係できるようになります。アプリの利便性が上がり、ひいてはMacやiPhone、iPadといった製品の魅力が高まるというわけです。
一方サービス側も、OSと同様に、アプリがそのサービスを簡単に使えるようにするフレームワークを提供しています。ツイッターなら「Twitter Kit for iOS」、フェイスブックなら「iOS用Facebook SDK」などがそれに当たります。これらのフレームワークを組み込むことで、開発しているアプリとサービスを簡単に連係させることができます。サービス側が提供しているフレームワークの利点は、サービスの最新機能や細かい機能までも使えること、アンドロイドなどほかのOSでもフレームワークが提供されていて、同じ感覚で機能追加ができる点にあります。
そんな中、サービス側のフレームワークで一例に挙げたTwitter Kit for iOSのドキュメントに重要な記載が追加されました
変節したApple
今年6月に開催されたWWDC 2017直前に発表された「Twitter Kit 3」のドキュメントの中に「Migrating from iOS Social Framework」(訳:iOSのSocial Frameworkからの移行)という章が加えられ、「iOS 11 no longer supports using Twitter through the built-in social framework.」(訳:iOS11ではOSに組み込まれるSocial frameworkを使ったツイッターの利用はサポートされない)などという衝撃的な説明が掲載されたのです(図1)。
原稿執筆時点で、アップルはこの件について特にコメントを発表していませんが、このツイッターキットのドキュメントが事実だとわかる情報は出しています。図2はアップルが公開しているSocial.Frameworkのドキュメントの1つで、Social Frameworkで利用される定数(キーワード)の1つ「SLServiceTypeTwitter」についての説明になります。この定数は、Social Frameworkを使ってツイッターを利用する際に使われるものです。
ここをよく見ると、iOSにて「Deprecated」(廃止)と赤字で記載されているのです。つまり、iOS 11ないし、それ以降では、SLServiceTwitterという定数は利用できない、Social Frameworkにツイッターへつないでくれと伝えることができなくなってしまいます。これはツイッターだけではなく、フェイスブック、リンクトイン、ウェイボなどといったほかのSNSも含めた定数すべてが同じく廃止となるのです。