iPhone SDKの制限: マルチタスク、Java、エミュレータ
ホーム 知恵袋 iPhone SDKの制限: マルチタスク、Java、エミュレータ

iPhone SDKの制限: マルチタスク、Java、エミュレータ

 iPhone SDKの制限: マルチタスク、Java、エミュレータ

Apple の iPhone SDK の詳細を調査するにつれて、いくつかの興味深い問題が浮上しています。懸念を引き起こしている開発者ガイドラインの 1 つは 、Apple の iPhone 向けヒューマン インターフェイス ガイドライン からのものです。

 iPhone SDKの制限: マルチタスク、Java、エミュレータ

一度に実行できる iPhone アプリケーションは 1 つだけであり、サードパーティ製アプリケーションがバックグラウンドで実行されることはありません。つまり、ユーザーが別のアプリケーションに切り替えたり、電話に出たり、電子メールをチェックしたりすると、使用していたアプリケーションが終了します。この現実によってユーザーがマイナスの影響を受けないようにすることが重要です。言い換えれば、ユーザーは、iPhone アプリケーションを終了し、後でそのアプリケーションに戻ることは、コンピュータ上でアプリケーションを切り替えることよりも難しいと感じる必要はありません。

 iPhone SDKの制限: マルチタスク、Java、エミュレータ

公平を期すために、ほとんどのアプリケーションでは、これが推奨される動作です。 (たとえば) スーパー モンキー ボールがバックグラウンドで実行され続け、CPU サイクルとメモリを消費する理由はありません。代わりに、Apple が提案しているように、現在の状態を保存し、アプリケーションの再起動時に返す必要があります。

ただし、これにより、AOL の AIM クライアントなどのアプリケーションの実現可能性について懸念が生じています。このクライアントは通常、バックグラウンドで実行され、受信メッセージをユーザーに警告します。ただし、 1 つのコメント によると、これは単なる設計ガイドラインであり、絶対的な技術的制限ではないようです。

 iPhone SDKの制限: マルチタスク、Java、エミュレータ

私はプログラマーで、[iPhone SDK を使用して] 試してみましたが、ApolloIM と iFob が行う通常の方法で、アプリをバックグラウンドで実行し続けることができます。つまり、applicationSuspend をオーバーライドします。

もう 1 つの可能性としては、個々のアプリケーションが完全なアプリケーションではなく小さなバックグラウンド タスク (デーモン) を起動することが考えられますが、これが実現可能かどうかは現時点では不明です。

ここで私たちが思い出されるのは、Apple の SDK ライセンスの制限と、iTunes App Store に関する編集者の裁量です。 Apple のライセンス契約により、このマルチタスクの回避策は禁止されています。

アプリケーションは、Apple が提供するヒューマン インターフェイス ガイドラインおよびその他のドキュメントに準拠する必要があります。

Java を iPhone に導入するという Sun の 計画 ですら、次のような主張にもかかわらず、技術的には許可されていません。

アプリケーション自体は、プラグイン アーキテクチャの使用、他のフレームワーク、他の API の呼び出しなどを含むがこれに限定されない、いかなる手段によっても他の実行可能コードをインストールまたは起動することはできません。

 iPhone SDKの制限: マルチタスク、Java、エミュレータ

これにより、iPhone 用の PC エミュレータに関する 発表された計画 も制限される可能性があります。

 iPhone SDKの制限: マルチタスク、Java、エミュレータ

Apple が iTunes App Store のアプリケーションを承認する際にこれらの制限をどの程度厳密に適用するかを判断するのはまだ時期尚早です。 iPhone アプリケーションの唯一のディストリビュータとして機能することで、Apple が悪意のあるアプリケーションを制限したいのは当然ですが、これらの制限が本当に有用なアプリケーションを侵害し始めるかどうかは依然として懸念事項です。 Apple の iTunes App Store は、新しい iPhone 2.0 ファームウェアとともに 2008 年 6 月に開始されます。

関連動画
iPhoneの写真動画をSDカードにバックアップする方法【デジカメ写真の高速取込みも】