web-dev-qa-db-ja.com

Appleは、アプリを承認するときに実際のソースコードを表示しますか?

Appleはアプリを承認しますか?実際のソースコードは表示されますか?

36
system

私たちの誰もが内部レビュープロセス(継続的に変化しているように見えます)にアクセスできませんが、人々が受け取った応答に基づいて言えることがいくつかあります。

まず、Appleはソースコードにアクセスできないため、ソースコードを確認しません。アプリケーションバンドルの一部として、他のアプリケーションリソースとともにバイナリを送信します。

ただし、プライベートAPIの使用を示す特定のシンボルについて、アプリケーションのバイナリをスキャンしているように見えます。多くのアプリケーションは、これらのプライベートAPIを使用していたため、iPhone OSの更新後にクラッシュし始めたため、Appleはこれを取り締まっています。

ストアには、メモリリークやその他のパフォーマンスの問題があるアプリケーションがたくさんあります。微妙なリークがあり(修正されてから)、レビューに問題がないバージョンのアプリケーションを提出したことを知っています。したがって、パフォーマンステストやプロファイリングを行っているようには見えません。

メモリリークがレビューの実行で問題を引き起こす唯一の場所は、そのメモリリークがひどくなり、レビュー担当者がテストしているときにアプリケーションがクラッシュする場合です。レビュープロセス中のいずれかの時点でアプリケーションがクラッシュした場合、アプリケーションは拒否されます。

それ以外にも、適切な使用法をチェックするユーザーインターフェイス要素のチェックリストがあります(テーブルビューの行に永続的な選択がないなど)。これらの標準UI要素を使用するときにアプリケーションが ヒューマンインターフェイスガイドライン から大幅に逸脱している場合、拒否される可能性があります。

Appleは、特に自社の画像やアートワークに関して著作権に細心の注意を払っています。そのため、著作権で保護された素材を不適切に使用すると、問題が発生する可能性があります。

直面する拒否の理由のほとんどは、アプリケーションを安定させ、プラットフォームのガイドラインに従うことで防ぐことができますが、そうでないものもあります。特定のクラスのアプリケーションは、その使用目的のために拒否されました。また、ストアで許可されているアプリケーションのクラスは定期的に変更されます。これにより、App Storeを扱うときにフラストレーションや不確実性が加わる可能性がありますが、アプリケーションの種類の大部分で問題が発生することはありません(現在利用可能なアプリケーションの多様性に見られるように)。

49
Brad Larson

自分でotool-Lバイナリを使用してみてください。そうすれば、プライベートAPIフレームワークが使用されたかどうかをすぐに確認できます...

4
user387184

Appleは、アプリのリークやプロファイリング情報を気にしません。それが手に負えなくなった場合、オペレーティングシステムはあなたのアプリを殺すことができます。彼らが実際に行っているのは、アプリを手動で実行し、Appleのガイドラインに準拠しているかどうかを確認することです。自動化されたプロセスで、バイナリからシンボル、セレクター、文字列を抽出し、プライベートAPIの使用状況をチェックします。

(シミュレーター)バイナリーでnm -uを試してみることをお勧めします。

2
BackMac

彼らはあなたの情報源にアクセスできません。それはあなたが彼らに送るものの一部ではありません。彼らはあなたが彼らに送ったバイナリをリークなどについてテストします。また、アプリが送信するデータをチェックして、アプリがひどく悪いこと(パスワードの送信など)を行っていないことを確認していると思います。

1
Silverlock

いいえ、送信したバイナリコードにのみアクセスできます。

彼らは、メモリリークなどをチェックするプロファイラーを介してこれを実行できます。

1
Mongus Pong

彼らはipaのbinrayファイルのみを受け取ります。彼らはipaを抽出する間にあなたのリソースファイルの一部を取得することができます。彼らはあなたがウェブサービスやURLリクエストで使用したすべてのURLを見つけることができます。これ以外は何もありません。

0