Apple は先週、とりわけ発表したもの 新しいApple TV tvOS オペレーティング システムを使用します。 App Store のアプリケーションを新しいブラック ボックスにインストールできるという事実は、開発者にとって間違いなく最も喜ばしいことでした。
開発者には 2 つの選択肢があります。 Apple TV ハードウェアに完全にアクセスできるネイティブ アプリを作成できます。利用可能な SDK (開発者向けのライブラリのセット) は、開発者が iPhone、iPad ですでに知っているものと非常に似ており、プログラミング言語も同じです (Objective-C と若い Swift)。
しかし、より単純なアプリケーションのために、Apple は TVML (テレビジョン マークアップ言語) の形で開発者に 2 番目のオプションを提供しました。 TVML という名前が HTML に似ていると感じたなら、それは正しいことです。これは実際には XML に基づいたマークアップ言語であり、HTML に非常によく似ていますが、HTML よりもはるかに単純で、構文がより厳密です。ただし、Netflix のようなアプリケーションには完全に最適です。また、TVML の厳密性により、マルチメディア アプリケーションの外観と動作がほぼ同じになるため、ユーザーにもメリットが得られます。
最初のアプリケーションへのパス
そこで私が最初にしなければならなかったのは、Xcode 開発環境の新しいベータ版をダウンロードすることでした (バージョン 7.1 が利用可能です) ここで)。これにより、tvOS SDK にアクセスできるようになり、特に第 4 世代 Apple TV を対象とした新しいプロジェクトを開始することができました。アプリは tvOS 専用にすることも、既存の iOS アプリにコードを追加して「ユニバーサル」アプリ (今日の iPhone や iPad アプリに似たモデル) を作成することもできます。
問題 1: Xcode はネイティブ アプリを作成する機能しか提供しません。しかし、開発者がこのスケルトンを変更して TVML 用に準備するのに役立つセクションをドキュメント内ですぐに見つけました。基本的に、これは Swift の数行のコードで、Apple TV 上で全画面オブジェクトを作成し、すでに JavaScript で記述されているアプリの主要部分をロードします。
問題 2: TVML アプリケーションは実際には Web ページに非常によく似ているため、すべてのコードもインターネットからロードされます。アプリケーション自体は実際には単なる「ブートローダー」であり、最小限のコードと最も基本的なグラフィック要素 (アプリケーション アイコンなど) のみが含まれています。最終的に、メインの JavaScript コードをアプリに直接挿入することに成功し、Apple TV がインターネットに接続されていないときに少なくともカスタム エラー メッセージを表示できるようになりました。
9 番目の小さな問題: iOS 9 とそれに伴う tvOS では、インターネットへのすべての通信が HTTPS 経由で暗号化されて行われることが厳密に要求されます。これは iOS 5 ですべてのアプリに導入された機能で、その理由はユーザーのプライバシーとデータのセキュリティに対するプレッシャーです。したがって、Web サーバーに SSL 証明書を展開する必要があります。年間わずか 120 ドル (XNUMX クラウン) で購入できます。また、たとえば、HTTPS を自動的に投資なしで処理する CloudFlare サービスを使用することもできます。 XNUMX 番目のオプションは、アプリケーションのこの制限をオフにすることです。現時点ではこれは可能ですが、私は絶対にお勧めしません。
ドキュメントを数時間読んだ後、まだ小さなエラーが時々ありますが、非常に基本的ですが動作するアプリケーションを作成しました。人気のテキスト「Hello World」と 2 つのボタンが表示されました。ボタンをアクティブにして実際に何かを実行するのに約 2 時間かかりました。でも、朝が早いことを考えると、寝た方が良かった…それはそれで良かったです。
先日、既製のサンプル TVML アプリケーションを Apple から直接ダウンロードするという素晴らしいアイデアを思いつきました。探していたものはコード内ですぐに見つかり、ボタンは有効で機能しました。特に、tvOS チュートリアルの最初の 2 つの部分もインターネット上で発見しました。どちらのリソースも非常に役に立ったので、新しいプロジェクトを開始し、最初の実際のアプリケーションを開始しました。
初めての実際のアプリケーション
最初の TVML ページという完全にゼロから始めました。利点は、Apple が開発者向けにドキュメントからコピーするだけで済む 18 個の既製 TVML テンプレートを用意していることです。 XNUMX つのテンプレートの編集には約 XNUMX 時間かかりました。これは主に、必要なすべてのデータを含む完成した TVML を Apple TV に送信するための API を準備していたためです。
10 番目のテンプレートには約 XNUMX 分しかかかりませんでした。 XNUMX つの JavaScript を追加しました。それらのコードのほとんどは Apple から直接提供されているため、車輪を再発明する必要はありません。 Apple は、推奨されるコンテンツ読み込みインジケーターや発生する可能性のあるエラー表示など、TVML テンプレートの読み込みと表示を処理するスクリプトを用意しました。
2 時間もかからずに、非常にシンプルではありますが、機能する PLAY.CZ アプリケーションを組み立てることができました。ラジオ局のリストを表示したり、ジャンルごとにフィルターしたり、ラジオを開始したりできます。はい、アプリには多くの機能が含まれていませんが、基本的な機能は機能します。
[youtube id=”kLKvWC-rj7Q” 幅=”620″ 高さ=”360″]
利点は、アプリケーションが基本的に Web サイトの特別バージョンにすぎず、JavaScript を利用しており、CSS を使用して外観を変更することもできることです。
Apple はまだいくつか準備する必要があります。アプリケーションのアイコンは 2 つではなく、小さいものと大きいものの 5 つあります。目新しいのは、アイコンが単純な画像ではなく、視差効果を含み、XNUMX ~ XNUMX つのレイヤー (背景、中央のオブジェクト、および前景) で構成されていることです。アプリケーション全体のすべてのアクティブな画像に同じ効果を含めることができます。
各レイヤーは、実際には透明な背景上の単なる画像です。 Apple は、これらのレイヤー化された画像をコンパイルするための独自のアプリケーションを準備しており、Adobe Photoshop 用のエクスポート プラグインを間もなくリリースすることを約束しています。
もう 1 つの要件は、「トップシェルフ」画像です。ユーザーがアプリを最上行 (一番上の棚) の目立つ位置に配置した場合、アプリはアプリ リストの上のデスクトップにもコンテンツを提供する必要があります。単純な画像だけを表示することも、お気に入りの映画や、この場合はラジオ局のリストなどのアクティブな領域にすることもできます。
多くの開発者は、新しい tvOS の可能性を模索し始めたばかりです。幸いなことに、コンテンツ アプリの作成は非常に簡単で、Apple は TVML を使用して開発者のために長い道のりを歩んできました。アプリケーション (PLAY.CZ や iVyszílő など) の構築は簡単かつ迅速である必要があります。新しいApple TVの発売と同時に多数のアプリケーションが用意される可能性が高い。
ネイティブ アプリを作成したり、iOS から tvOS にゲームを移植したりすることはより困難になりますが、それほど大きなことではありません。最大のハードルは、さまざまなコントロールとアプリあたり 200MB の制限です。ネイティブ アプリケーションはストアからデータの限られた部分のみをダウンロードでき、他のすべては追加でダウンロードする必要があり、システムがこのデータを削除しないという保証はありません。ただし、これも iOS 9 の一部である「App Thinning」と呼ばれる一連のツールが利用できるおかげで、開発者はこの制限にすぐに対処できることは間違いありません。
素敵な記事です。ありがとう。おそらく、私が開発者でなくても、FileMaker for iOS で可能な、より単純なアプリケーション (ソリューション) を準備するためのユーザー ソリューションも、やがて Apple から提供されることになるでしょう。
理論的には… Swift ローダーは数行が同じであり、最初の TVML ファイルの URL のみが変更されます。その気になれば、URL を使用してリモートでビルドを実行し、IPA ファイルを送り返すスクリプトを作成できるでしょう。または、Mac をお持ちの場合は、URL を入力してビルドを開始するだけでプロジェクトを送信することも問題ありません。利点は、TVML がアプリケーションの外部にある場合、実際に必要なのはパブリック ビルド 1 つとプライベート (開発) ビルド 1 つだけで済み、サーバー上の TVML のみを変更できるため、アプリケーションの機能も変更できることです。
「アプリは tvOS 専用にすることも、既存の iOS アプリにコードを追加して『フリーサイズ』アプリを作成することもできます。これは、今日の iPhone や iPad アプリに似たモデルです。」
どういう意味でしょうか?個人的には、ユニバーサル iPhone、iPad、Apple TV を含む 1 つのビルドを作成する方法はどこにも見つかりませんでした。これらは別個の SDK (OSX と同様) であるため、tvOS 用の追加ターゲットが必要になり、したがって別個のビルドも必要になります。何か足りないことがありますか?
Xcode 7.1 では、tvOS アプリケーションを別のターゲットとして既存のプロジェクトに追加できます。これは、Apple Watch 用のアプリケーションや通知センター用のウィジェットと同様です。ただし、ストアにどのようにアップロードされるかはまだわかりません...Xcode が XNUMX つのパッケージを送信し、その後 App Store がそれを分割すると思います...おそらく、現在 Watch で行っていることと同様です。
いや、私の意見では、これら 2 つはまったく別のものです。watch は拡張機能です。少なくとも watchOS 2.0 まではそうでした。これは iOS ターゲットと一緒に提供されており、iPhone なしでは動作しませんでした。 ATV は別個のエンティティです。それが私が話していることです。ATV のビルドが別個になるか (2 ドルを支払う必要があります)、さらに iOS も 2 ドルを支払いますか、それともユニバーサル ライセンスを付与することが可能でしょうか。 iOS と ATV の両方に対応する 2$ ビルド。ATV 用ファミリー..
実際の起動は表示されますが、実際には、たとえば Apple Watch コードと同じように動作します。それ以外の場合、ドキュメントには、既存のアプリケーションに tvOS 用のコードを追加できるため、iOS と tvOS の両方で 1 つのアプリ (App Store 内の 1 つのエンティティ) を同時に販売できる、つまり 1 回の購入で可能になると記載されています。顧客、または別個のエンティティとして、iOS と tvOS を別々に購入します。
明確にしておきますが、アプリごとに 200MB ではなく、200MB がローカルに保存され、残りは必要に応じてネットからダウンロードされます。
ありがとう、そう思ったのですが、言い方が間違っていたかもしれません。 200MB を超えるすべて (または追加でダウンロードされたすべて) はキャッシュとして保存され、スペースが不足しているとシステムが判断すると、削除が開始されます。これはおそらく、十分な空きスペースがあり、最も使用されていないコンテンツがなくなるまで削除されません。削除されるので、実際にはそれほど問題にはならないでしょう。
他に調べなければならないことは、おそらくこの制限はゲームには適用されないことです。ゲームのベース部分では 200MB を超える可能性があります。しかし、これが具体的にどのような意味なのかはまだよくわかりません。 Apple が開発者からのフィードバックに従ってこのポリシーを調整している可能性は十分にあります。
ふふ、ポケモン TCG – 4 GB、カオスオンラインで注文 – 1,6 GB ハースストーン 1,3 GB これについては非常に興味があります。
ゲームには特別なモードがあるという情報がありました。現在詳細をまとめており、記事を完成させます。
私にはそれができません。もし誰かを気分を害するようなことがあったら、あらかじめお詫びします。しかし、私にはただ大きな、誠実で、心からの喜びがあり、それを皆さんと分かち合いたいと思っています...
新しい Apple TV の発表の翌日、私は怠け者ではなく、発売前でも開発者キットを入手できる可能性のある Apple の宝くじ (選択しましょうか?) にサインアップしました。
昨日の夕方、Apple が私を最初の候補者に選んだという手紙を書きました :)
したがって、私はこの記事の著者と同じではありません。正直に言って、Apple TV 用の Preschool Brasnicce に取り組んでいます。10 月中に App Store で入手可能になります :)
ということで、登録してくださった方全員に届いたような気がします :) 私も昨日注文しましたが、本当に本当に楽しみにしています...そして、もう 1 人も配達を待っている人を知っています...
とにかく、今のところ、販売が開始されるとおそらくたくさんのアプリが登場すると思われます:)
おそらく誰もがそうではありません - 彼らは私にそれを与えませんでした:(
:( 私はあなたに同情。
欲しい人がいたら、白い Apple ステッカーを 8 枚持っています…郵送できます…