14

Lion 10.7.2 で Xcode 4.2 を実行していましたが、Lion サンドボックスへの更新が必要なアプリケーションがいくつかあるので、それらを Mac App Store (iOS ではなく Mac) に再送信できます。途中で、コンボ アップデート 10.7.3 に更新するポップアップが表示され、その後、すべてがうまくいきませんでした。

アーカイブが 10.7.2 でコンパイルされた場合、アプリの検証と送信は問題ありませんでしたが、10.7.3 の更新後にコンパイルされた場合、アプリを検証できなくなりました。そうです、10.7.3 では、アプリがアップグレード前にコンパイルされていれば、アプリを検証できます。後でコンパイルすると、次のようになります。

「このバンドルは無効です。Apple は現在、このバージョンの OS でビルドされたアプリケーションを受け入れていません。」

次の各試行の後、アーカイブをクリーンアップして再構築し、Xcode オーガナイザーとアプリケーション ローダー スタンドアロンを介してアプリケーションを検証または送信することを再試行しました。

  • 完全なアンインストール、再起動、およびインストールを行って Xcode 4.2.1 にアップグレードしようとしましたが、何もしませんでした。

  • この類似のスレッドを読み、新しい Application Loader 2.5.1 を使用してみました。システムに他の Application Loader がないことを確認しましたが、それも機能しませんでした。Xcode 経由のアプリケーション ローダーとスタンドアロンでの実行の両方で、同じエラーが発生します。

  • 別のスレッドから、ベース SDK を 10.7 に変更しようとしました。私は以前は 10.6 だったので、引き続き Snow Leopard をサポートできます。もちろん、Lion サンドボックスと非サンドボックスの両方で動作する 10.6 に対してビルドされたサンドボックス アプリを送信できます。これは、ごく最近 2 つのアプリで実行したためです)。残念ながら、10.6 または 10.7 SDK でビルドしても、このエラーに違いはありません。

開発者がベータ版プラットフォームでビルドされたアプリを提出しようとすると同じエラーが発生することを読んだことがありますが、8 月にこの MacBook を購入して以来、ベータ版を実行したことはありません。

どんなアイデアでも大歓迎です。前もって感謝します。

4

6 に答える 6

7

わかりました、完全に安全ではない方法で動作させました...だから、これがこの問題を解決する素晴らしい方法だとは言えません。

いずれかの方法:

SystemVersion.plist を調べたところ、10.7.3 のビルドは 11D50b であることがわかりました (b はもちろんベータ版です)。もちろん、10.7.3 はベータ版として宣伝されていませんでした... もしそうなら、私はアップグレードしなかったでしょう。

基本的に、/System/Library/CoreServices の SystemVersion.plist を次のように変更しました。

Build Number: 11C74
ProductUserVisibleVersion: 10.7.2
ProductVersion: 10.7.2

アクセス許可を変更した後、TextEdit を使用してこれを行うことができます。または、nano に精通している場合は、単純に次のようにします。

sudo nano /System/Library/CoreServices/SystemVersion.plist

いつものように、sudo で何かを行うときは特に注意してください。

そこから、Xcode を再起動し (必ずこれを実行してください。Xcode を再起動せずに試してみましたが、機能しませんでした)、クリーンアップしてアーカイブし、正常に送信できました。

この直後に、Xcode をシャットダウンし、すべてを以前の状態に戻すようにしました。

Build Number: 11D50b
ProductUserVisibleVersion: 10.7.3
ProductVersion: 10.7.3

私は絶対に再起動したり、そのような面白いことをしたりしません。何が起こるかわかりません。しかし、これは私にとってはうまくいきました。

于 2012-02-12T02:50:06.920 に答える
3

OK、同じ問題があり、Xcode 4.3も既にインストールしていました。これで問題が解決すると予想していたからです。Xcode 4.3 には 10.7.3 が必要なため、SystemVersion.plist を 10.7.2 に変更することはできませんが、11D50b の末尾にある b を削除して Xcode を再起動するだけでアプリを送信できます。

于 2012-02-18T10:29:00.850 に答える
3

2012 年 3 月 12 日編集: 有料のサポート チケットを使用して Apple に直接問い合わせました。これは Mac App Store 内のバグであることが判明しました。彼らのチームは問題を解決しました。11D50b での送信が機能するようになりました。

Xcode 4.3 を使用した OS X 10.7.3 の問題の解決策

SystemVersion ファイルを変更する必要があります。これは、コマンド sudo nano /System/Library/CoreServices/SystemVersion.plist (ctrl o、保存) で実行できます。

私の現在のファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
    <key>ProductBuildVersion</key>
    <string>11D50b</string>
    <key>ProductCopyright</key>
    <string>1983-2012 Apple Inc.</string>
    <key>ProductName</key>
    <string>Mac OS X</string>
    <key>ProductUserVisibleVersion</key>
    <string>10.7.3</string>
    <key>ProductVersion</key>
    <string>10.7.3</string>
</dict>
</plist>

11D50b を 11D50 に変更し、xcode を再起動してコードをクリーンアップします。その後、再度提出してください。提出後、ファイルを元に戻すことを忘れないでください。

于 2012-02-22T09:47:42.863 に答える
1

以下のコマンドを使用して plist ファイルの値を編集し、OSX バージョンを 10.7.4 にアップグレードします。

sudo nano /System/Library/CoreServices/SystemVersion.plist 元の値:

ビルド番号: 11D50 ProductUserVisibleVersion & ProductVersion:10.7.3 新しい値

ビルド番号: 11E27 ProductUserVisibleVersion & ProductVersion:10.7.4 Ctrl+O で保存、最新の XCode をインストールできるようになりました

http://cocoauser.wordpress.com/2012/08/03/how-to-install-latest-xcode-in-10-7-3-lion/

于 2012-08-03T17:09:54.893 に答える
0

Xcode 4.3 の再起動後、Xcode は 10.7.3 でしか実行できないことが検出されるため、機能しませんが、説明どおりに plist ファイルを変更すると、クリーニング、アーカイブ、および配布が機能するようです。現在、アプリが承認されるのを待っています。

于 2012-02-18T01:16:36.443 に答える
0

incarna のように解決策はありませんが、ストアに提出できる回避策があります。だましが含まれていないので、より安全かもしれません。ただし、これは 10.6 用にビルドしている場合にのみ役立ちますが、10.7 サンドボックスを実装して Snow Leopard との互換性を維持することもできます。

Snow Leopard を搭載した別の Mac を使用している場合、または SL とのデュアル ブートを使用している場合は、SL 用の Xcode 4.2 をインストールできます。SL インストール ディスクは Lion マシンのパーティション スキームを認識しないため、SL を使用したデュアル ブートは注意が必要です。別の Mac から firewire を使用して、ターゲット モードで MacBook にインストールする必要がありました。これは、私が最初に MacBook を入手したときに行ったことです。方法を知りたい場合は、Google で検索してください。

とにかく、プロジェクトを SL パーティションにコピーし、Xcode 4.2 で開きました。GUI には資格やサンドボックス チェックボックス オプションが含まれていませんが、資格とコンテナー移行 plist ファイルをプロジェクトで表示できます (以前に Lion の下の Xcode で設定したと仮定します)。10.7 がなくても、SL の下で Xcode 4.2 を使用するコンパイラは、これらのファイルをどう処理するかを知っていると思います。

SL の Xcode 4.2 でプロジェクトを再コンパイルし、アーカイブを検証しました。すべて良い。次に、アプリを .pkg ファイルとして共有し、Lion パーティションに保存しました。.pkg をインストールし、Lion でアプリケーションを実行しました。サンドボックス コンテナーは適切に移行され、アプリは期待どおりに機能しました。動作することを確認した後、SL を再起動してアプリケーションを送信しました。

そこにあります。サンドボックス化されたアプリをコンパイルして SL に提出できることの証明。SL は引き続き有効で合法的な配信プラットフォームです。

于 2012-02-12T10:00:54.737 に答える