2016-10-01 24 views
6

私はこれに関する情報を見つけるのに苦労しています。 Android自体は、コードの難読化を店舗に提出する前に行うべきこととして記述しています。しかし、私はアップルから、または提出前のチェックリストからの "第三者"からは何も見ません。私が見つけることができる唯一の類似した質問は、5年前のObjective-Cに関するものでした.iOSの難読化に関するgithubライブラリは1つしか見つかりません。 Apple App Storeに提出する際にスウィフトコードを難読化するのが一般的な方法ですか?特にプライベートAPIのURLやAPIキーを非表示にするには? AppleにPro Guardと同等の機能はありますか?Apple App Storeに提出する前にスウィフトコードを難読化する

+1

難読化する対象は何ですか?あなたのスウィフトコードは、ビルドされたアプリケーションのどこにも表示されません。 – matt

答えて

7

Javaはバイトコードに変換され、逆コンパイルすることができます。

Swiftはコンパイルされた言語であり、Clangコンパイラは高度に最適化されています。リリースモードでは、シンボルを取り除き、大量の難読化を行う最適化をすべて行います。コンパイルされた言語用のデコンパイラがありますが、結果は本当にひどく読みにくいです。

+1

実際には、XcodeはSwiftコードをAppleのビットコードと呼ばれる一種の中間表現バイトコードに変換します。しかし、IIRCでは、ビットコードがAppleに送られてから、顧客にアプリが送られてくる。また、Appleのコンパイル済みコードもAppleによって暗号化されている。リリースビルド(コードの再順序付けなどを含む)でSwiftコンパイラによって実行される最適化は、ある程度の難読化を実行します。 – hotpaw2

+0

@ hotpaw2、私はそれがアプリのコンパイルされたコードが暗号化されているとは思わない。これはコード署名されており、署名(ユーザーのAppleIDを含む)がチェックアウトしない限り、ターゲットデバイスのOSはアプリケーションの起動を拒否します。 –

+0

iOS App Storeからアプリケーションをダウンロードして、zipファイルにARMマシンコードが表示されているかどうかを確認してください。 – hotpaw2

関連する問題