あなたが正しい。Xcode 4.6 は iPhone 3G をサポートしていません。古いバージョンの Xcode をインストールできますか? たとえば、Xcode 4.4 は引き続き 3G をサポートします。
Apple Developer Portal にログインし、ここから古いバージョンをダウンロードします
古いバージョンの Xcode を別のフォルダーにインストールすることを選択して、新しいバージョンを上書きしないようにすることができます (たとえば、インストール先/Developer-old/
など)。
古い Xcode バージョンをインストールしたら、インストール ディレクトリに移動して、次の名前のディレクトリを探すことができます。
iPhoneOS5.0.sdk
(または、おそらく iPhoneOS5.1.sdk も動作するでしょう)。次に、そのフォルダー全体を新しい Xcode 4.6 インストール ディレクトリにコピーします。例えば:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
その後、次のように表示されます。
iPhoneOS5.0.sdk
iPhoneOS6.1.sdk
5.0 SDK をインストールすると、Xcode 4.6 を使用して iPhone 3G 用のアプリをビルドできるようになります。必要に応じて、Xcode 4.4 をアンインストールすることもできます。詳細については、この他の質問を参照してください。armv6
重要なのは、 (のみ)のためにアプリを構築するということです。Armv6 は iPhone 3G のプロセッサです。
2 番目のステップは、Xcode 内でコード署名をオフにすることです。プロジェクト設定で、プロビジョニング プロファイルをDon't Code Signに設定します。 これを行うには、Xcode 構成ファイルを変更する必要があります。
次に、Xcode でアプリをビルドします。完了したら、アプリがビルドされた Mac 上のディレクトリ (MyAppName.app/
フォルダーがある場所) に移動します。次に、ldidを使用して、アプリの実行可能ファイルに偽のコード署名を行います。
ldid -S MyAppName.app/MyAppName
これで、アプリに偽のコード署名が追加され、ジェイルブレイクされた電話でアプリを実行できるようになりました。
次に、、、またはその他を使用ssh
しscp
て、携帯電話に転送し、 の下にインストールする必要があります/Applications/
。
iOS Launch Daemonsの構築に関する最適なリンクが既にあります。私はそのチュートリアルに固執します。 いいえ、 Xcode で開いているツールチェーンテンプレートもありません。Chris のチュートリアルを使用して、非グラフィカル デーモンmain
プログラム (ではない) をビルドし、それを自分のフォルダーにUIApplication
コピーし、Launch Daemon を定義するファイルを作成する方法を確認します。MyAppName.app
com.mycompany.mydaemon.plist
plist が電話にインストールされたら、/System/Library/LaunchDaemons/
電話を再起動することなく、次のように起動できます。
launchctl load -w /System/Library/LaunchDaemons/com.mycompany.mydaemon.plist
コマンドラインで(電話で)。または、電話機を再起動するだけで、デーモンが自動的に起動します。
利用可能になる前にこれを行うことを学びましたが、このようなことを行うためのより洗練された方法が必要な場合は、 iOSOpenDevを見ることができます。