回答:
この目的を達成するための次の手順は、http://iphonedevwiki.net/index.php/Xcodeから取得され ます。
私の調査結果とアクションは、各ステップで提供されます。
1.キーチェーンアクセスを使用して、「ログイン」(デフォルト)キーチェーンに「iPhone Developer」という名前の自己署名コード署名証明書を作成します。
2.開く/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
(4.2以下:)/Developer/Platforms/iPhoneOS.platform/Info.plist
。root権限が必要な場合があります。
.plist
ファイルを開きました。すべての出現を交換して3. XCiPhoneOSCodeSignContext
によりますXCCodeSignContext
。それらは3つあります(XCodeバージョン3.2.4以降)。
4.ファイルを保存し、Xcodeを再起動します。
5. Macにldidがあることを確認します。コピーを、たとえばのどこかに配置します/usr/local/bin
。
/usr/local/bin
ます。6. ldidプログラムのすぐ隣にPythonスクリプトldid3.pyを作成します。実行可能にします。以下を入力してください:
#!/usr/bin/env python
from sys import argv
from subprocess import check_call
from os.path import basename, dirname, splitext, join
from tempfile import NamedTemporaryFile
app = argv[-1]
ldid_path = join(dirname(__file__), 'ldid')
obj_path = join(app, splitext(basename(app))[0])
if '-gta' not in argv:
check_call([ldid_path, '-S', obj_path])
else:
with NamedTemporaryFile('w+b', 0) as f:
f.write("""
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<true/>
</dict>
</plist>
""")
check_call([ldid_path, '-S' + f.name, obj_path])
ldid3.py
保存し、/usr/local/bin
ディレクトリに保存しました。chmod 777 /usr/local/bin/ldid3.py
。7.を開きiPhoneCodeSign.xcspec
ます。このファイルは、[Xcode 4.6の場合/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
]にあります。
8.変更の呼び出しからファイルのエントリcodesign
にldid3.py
。
sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
<key>CommandLine</key><string>/usr/bin/codesign</string>
て<key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>
。9.ファイルを保存して、Xcodeを再起動します。
10. /var/mobile/tdmtanf
デバイス上にファイルを作成し、installdでAppleの「TDMTANFバイパス」を有効にします(警告:サンドボックス化されたGameCenterにも配置されます)。
tdmtanf
、SSHでiPodにアップロードし、にアップロードして/var/mobile/
、iPodを再起動します。既存のXcodeプロジェクトを開き、[実行]をクリックします。iOSシミュレータで問題なく動作します。
手順1で設定した証明書を使用するようにコード署名が設定されていることを確認します。
アプリをビルドします([プロジェクト]> [ビルド])。成功メッセージが続きます。
私は私のアプリのフォルダをつかむTicTacToe.app
から/Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/
、私のiPodにインストールするには、私のWindowsマシンに転送します。
アプリをiPodにインストールしようとしてTicTacToe.app
、iPhone構成ユーティリティのアプリケーションセクションにドラッグしましたが、アプリが「有効なモバイルアプリケーションではありません」というエラーメッセージが表示されました。
私はまた、手動で使用してアプリケーションのインストールしようとしているiFunboxとAppCakeの Cydiaの中に見出さアプリ。どちらも失敗します。
興味深いことに、私がグーグルで検索してきたので、多くの人がこれの重要性に言及していることに気づきました。AppSyncがインストールされています。(スクリーンショットが大きいため申し訳ありません。削除する必要がある場合は、お知らせください!)
そのため、指示に厳密に従っているにもかかわらず、私のアプリはiPhone構成ユーティリティによって有効なアプリとして認識されません。iFunboxなどのプログラムやAppCakeなどのCydiaアプリを使用してアプリを手動でインストールできません。
アプリは確かに無効だと思いますが、注意深く手順を実行したので、その理由はわかりません。
私のアプリが有効ではない理由、そしてそれを修正するために私ができることは、お金を咳払いする以外に誰かに教えてもらえますか?