20

App Store Review Guidelines には、非公開アプリは拒否されると記載されています。どういう意味ですか?

APIsプライベートと非パブリックの違いは何APIsですか?

APIクライアントの を使用UIWebviewしてアプリ内のデータを取得していAPIます。

助けて。

4

4 に答える 4

21

非公開 API とは、文書化されておらず、プログラマーに提供されていない Apple API メソッドを指します。

Apple は、API のこの部分が将来のアップグレードで機能することを保証しません。この部分は自由に変更できます。

iOS の更新でアプリが壊れないように使用を禁止し、アプリの将来のユーザー/購入者を保護します!

Web サービスは外部であるため、非公開には該当しません。Appleではなく、保証する必要があるこの部分。

于 2012-12-25T10:04:05.557 に答える
8

違いはありません。どちらも、文書化されていない iOS API を意味します。

外部 API は iOS 自体とは関係がないためカウントされません。したがって、Objective-C コードで文書化されていない呼び出しを使用しない限り安全です。

于 2012-12-25T10:01:17.797 に答える
2

iOS の進化において、Apple は通常、開発者が使用できるように十分に洗練され、文書化されるまで、API を非公開にすることから始めます。

iOS には、ヘッダーやドキュメントよりもはるかに多くのメソッドとクラスがあります。たとえば、NSAttributedString を HTML に変換する NSHTMLWriter という名前のクラスがあります。これは文書化も公開もされていませんが、UITextView によって内部的に使用されます。

プライベート API のその他の例としては、セルラー ネットワーク情報、低レベルのハードウェア アクセス、正確なバッテリー負荷パーセンテージなどの無害なものへの直接アクセスが含まれます (パブリック API は 5% の増分のみを返します)。

API を非公開にしないことで、Apple は API をさらに洗練させ、名前を変更して以前の命名に依存していたソフトウェアを壊してしまう可能性さえあります。Apple がそれを実行できるのは、Apple がすべてのシステム ソフトウェアを管理しているからです。公開された API で何かを変更するには、非推奨でこのダンスを実行する必要があります。

App Store レビュー チームには、提出されたアプリを調べて、文書化されていないメソッドやクラスへのすべての呼び出しにフラグを付けるスキャナー アプリがあります。難読化されたメソッド セレクターを使用してこれらを回避する方法はありますが、一般的には、規則を破ると Apple は気に入らないため、Apple と仲良くする必要があります。

プライベート API がさかのぼって公開される非常にまれな例がいくつかあります。つまり、iOS 5 にすでに存在していた方法で、ドキュメントがなく、Tech Note だけであったにもかかわらず、Apple が使用を許可しました。

まとめ: Apple の公式ドキュメントに記載されているクラスとメソッドのみを使用してください。

PS: 公式チャンネル経由で UIWebViews との間でデータを取得する方法があります。ここでのより詳細な技術的な回答は、何をしようとしているのかによって完全に異なります。

于 2012-12-25T10:07:36.823 に答える
0

Objective C では、内部 ( private ) メソッドをさまざまな方法で使用できます。Apple が求めているのは、「クライアント」コードで使用するように設計されていないフレームワークのメソッドを使用しないことです。したがって、private メソッド、プロパティにアクセスするときは良くありません。

于 2012-12-25T10:06:34.583 に答える