iPhone アプリケーションを Xcode から実際の iPhone デバイスにデプロイするにはどうすればよいですか?
-
05-07-2019 - |
質問
99 ドルの Apple 証明書を持たずに、Xcode から実際の iPhone デバイスに iPhone アプリケーションをデプロイするにはどうすればよいですか?
解決
アプリケーションが署名されていないようです。 Cydiaからldidをダウンロードして、次のように使用します: ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
バイナリが実行可能としてマークされていることも確認してください: chmod + x /Applications/AccelerometerGraph.app/AccelerometerGraph
他のヒント
私は 2 つのハウツーを組み合わせて使用しました。 ジェイソンの そして アレックスの. 。2 つ目では、デバッグできるという利点があります。ほとんどの場合、以下の両方をコピーするだけです (そしてアレックスのものを簡略化します)。
2012 年 1 月の更新: これは SDK 4.2.1 と iOS 5.0.1 でも動作します。新しいコンピューターとデバイスですべてテストしました。
1.自己署名証明書の作成
iPhone SDK にパッチを適用して、この証明書の使用を許可します。
キーチェーンアクセス.appを起動します。項目が選択されていない状態で、「キーチェーン」メニューから「証明書アシスタント」を選択し、「証明書の作成」を選択します。
- 名前: iPhone開発者
- 証明書の種類: コードサイニング
- デフォルトを上書きしましょう: はい
「続行」をクリックします
- 有効: 3650日
「続行」をクリックします
ブランクアウト の Eメール 住所フィールド。
クリック 完了するまで続行します.
君は見るべきだ 「このルート証明書は信頼できません」. 。これは予想通りです。
自己署名証明書の使用を許可するように iPhone SDK を設定します。
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Xcode を開いている場合は、この変更を有効にするために Xcode を再起動します。
iOS 5 を使用している場合は、それだけです。やってみよう!デバッグはできないかもしれませんが、アプリは存在します。
これには非常に驚きました。 あなたが知っておくべき, これらのハッキングが一体何なのか全く分かりません。私がやったことは、私が指摘したように、他の場所で見つけたものを少し改良しただけです。
そうそう、 メソッド全体 もう同じようには機能しないので、新しいものを探す気にもなれませんでした...を除いて これは Theos というツールを使用します しかし、すべてのプロセスを完了することはできませんでした。
最後に、必要に応じて、 アンインストールする 理由は何であれ、この投稿の最後を確認してください。私の場合、この方法全体がなぜ機能しなくなったのか理解できなかったため、そうせざるを得ませんでしたが、長らく待っていたライセンスをすでに取得しているため、もう気にすることはできませんでした。(DUNS 番号を取得するには非常に時間がかかります...)
.
.
.
.
.
2.ジェイルブレイクされたデバイス上で Xcode をビルドできるようにする
ジェイルブレイクしたiPhoneにアプリをインストールします アプリシンク ソースを追加して ** http://repo.hackyouriphone.org**
コード署名と権限に関する SDK 要件を削除します (私はとても気に入っています) セド!):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
注意してください に
iPhoneOS5.0.sdk
一部。たとえば、iOS 4.2 SDK を使用している場合は、それに応じて置き換えるだけです。sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
Xcode にパッチを適用して要件の削除を完了します。これはバイナリ編集を意味します。
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 printf "\xc3\x26\x00\x00" >> working /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original /bin/mv working iPhoneOS\ Build\ System\ Support chmod a+x iPhoneOS\ Build\ System\ Support
Xcode を開いている場合は、この変更 (および最後の変更) を有効にするために Xcode を再起動します。
開ける 「プロジェクト>プロジェクト設定の編集」 (メニューより)。クリックしてください "建てる" タブ。探す 「コード署名 ID」 そしてその子 「あらゆるiPhoneOSデバイス」 リスト内で両方をエントリに設定します 「コード署名をしないでください」:
この後、ステップ 3 を自由に元に戻してください。少なくとも私の場合はうまくいきました。
Xcodeをカスタムメイドでコード署名するように設定する 自己署名証明書 (最初のハウツー)。デバッグしたくない場合は、この手順を省略してもよいでしょう。
mkdir /Developer/iphoneentitlements401 cd /Developer/iphoneentitlements401 curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py chmod 777 gen_entitlements.py
iPhone を接続し、Xcode を開きます。「ウィンドウ」>「オーガナイザー」を開きます。左側のリストからデバイスを選択し、[開発に使用]をクリックします。プロビジョニングWebサイトのログインを求められ、[キャンセル]をクリックします。これは、正当なプロビジョニングを容易にするためにありますが、違法な非プロビジョニングを困難にするものではありません。
今 新しいプロジェクトを作成するたびに、この最後の部分を実行する必要があります. 。メニューの [プロジェクト] > [新しいビルド フェーズ] > [新しい実行スクリプト ビルド フェーズ] に移動します。ウィンドウで、これをコピー/ペーストします。
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate if [ "${PLATFORM_NAME}" == "iphoneos" ]; then /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" fi
.
.
.
.
アンインストールする
1 番目の部分については、次のとおりです。
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
2 番目の部分については、次のとおりです。
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
ステップ 2 の代わりにステップ 3 を実行した場合は、それに応じて変更するだけです。
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
残りは、XCode で行ったことを元に戻して削除するだけです /Developer/iphoneentitlements401/gen_entitlements.py
あなたが望むなら:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
Xcode 7後の無料プロビジョニング
Apple Developer料金を支払う(またはデバイスをジェイルブレイクする)のではなく、実際のデバイスでアプリをテストするには、Xcode 7およびiOS 9がサポートする新しい無料プロビジョニングを使用できます。
以下は、ドキュメント(これはかなり良いので、読んでください):
1。 XcodeでApple IDを追加します
XCodeに移動>設定> [アカウント]タブ>追加ボタン(+)> Apple IDを追加します。詳細については、ドキュメントをご覧ください。
2。 Project Navigatorの[全般]タブをクリックします
3。チームのポップアップメニューからApple IDを選択します。
4。デバイスを接続し、スキームメニューで選択します。
5。 [問題を修正]ボタンをクリックします
バンドル名が無効であるというエラーが表示された場合は、固有の名前に変更してください。
6。アプリを実行します
Xcodeで、[ビルドして実行]ボタンをクリックします。
7。デバイス設定でアプリ開発者を信頼する
アプリを実行した後、実行するアプリがApp Storeのものではないため、セキュリティエラーが発生します。
デバイスで、設定に移動>一般>プロフィール> Apple-ID-name >信頼する Apple-ID-name >信頼。
8。デバイスでアプリを再度実行します。
それだけです。これで、99ドルを支払う必要なく、独自の(またはソースコードを持っている他のアプリ)を実行できます。 Apple、ようやくこれを許可してくれてありがとう。
公式SDKで構築され、xcodeから直接デプロイするアプリケーションについて話しているのではなく、できません。
デバイスをジェイルブレイクする必要があります。
Appleに支払うことなくiPhoneアプリを展開する方法があります デバイスをジェイルブレイクして、 http://www.alexwhittemore.com/?の指示に従う必要があります。 p = 398
証明書を見ずに(有料)本物のiPhoneにアドホック展開できることを示すものはどこにもありません。
昨夜、Apple Developerを通過していたところ、Provisioning Certificateで、「Signing Team Members」のようなものを見つけました。チームメンバーを有料プロファイルに追加する方法があると思います。 アプリID所有者(有料)に依頼して、チームメンバーとして追加するだけです。私はわかりません。まだ検索中です。
いいえ、これは簡単です。 Xcodeで、アクティブな構成をリリースに設定します。デバイスをシミュレータからデバイス-SDKに変更します。 iPhoneに直接エクスポートする場合は、コンピューターに接続します。 Build and Goを押します。 iPhoneがコンピューターに接続されていない場合、iPhoneが接続されていないというメッセージが表示されます。
これが該当する場合:(iPhoneが接続されていませんでした)
プロジェクトフォルダーに移動してから、内部のビルドフォルダーに移動します。 Release-iphoneosフォルダーに移動し、アプリを中に入れ、iTunesアイコンにドラッグアンドドロップします。 iTouchデバイスを同期すると、デバイスにコピーされます。また、iPhoneのアプリケーションとしてiTunesに表示されます。
これがお役に立てば幸いです!
PS:証明書が無効であるというメッセージが表示された場合は、Xcodeのプロジェクト、左側のファイルスタックにある小さなプロジェクトアイコンをクリックし、Apple + Iを押すか、メニューバーから[情報を見る]を実行します。上部の[ビルド]をクリックします。 [コード署名]で、[コード署名ID-任意のiPhone OSデバイスを署名しないように変更します。
これは実際、使用しているXcodeのバージョンによって異なります。異なるバージョンが異なる方法を使用して、プロビジョニングプロファイルなしでiPhoneにデプロイするためです。
Xcode 3.2.1は優れたバージョンであり、簡単に整理できますが、使用しているバージョンを知る必要があります。
Cawasが投稿したソリューションは、XCode4でも完全に機能します。ただし、IDEのUIにはいくつかの変更があるため、Run Scriptを見つけるために調査する必要があります:)
プロジェクトナビゲータービューでプロジェクトのルートアイテムをクリックし、中央のウィンドウで[ターゲット]を選択し、[ビルドフェーズ]タブをクリックします。下部に[ビルドフェーズの追加]ボタンが表示されます。 「codesign」を貼り付けますCawasが投稿したスクリプト。
回避策はありません。デバイスに登録されているアプリのみをアドホック展開できます。これにより、独自のアプリストアを作成できなくなります。