web-dev-qa-db-ja.com

Xcode 11 GM-エラー:ビルドデータベースへのアクセス-ディスクI / Oエラー

リリース配布用の「Universal Binary Framework」のみをビルドすると、次のエラーが発生します。デバッグモードまたはリリースモードで「非ユニバーサル」スキームを構築するときに、同じプロジェクトと設定が機能します。

プロジェクトではObjective-C&Xcode 11 GM(11A419c)を使用しています。今、Xcode 11に更新しますGM Seed 2( 11A420a)。

エラー:ビルドデータベース "/Users/john.doe/Library/Developer/Xcode/DerivedData/FrameworkSDK-esxhqchxkdevuiapyebthsdscpje/Build/Intermediates.noindex/XCBuildData/build.db"へのアクセス:ディスクI/Oエラー

次の使用build commandスクリプトから:

xcodebuild -workspace ${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -sdk iphonesimulator -configuration ${CONFIGURATION} only_active_Arch=no defines_module=yes clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator 2>&1

いくつかの手順を試してみました:完全なクリーンアップ、ポッドの更新、および Xcode 10の関連エラーリンクされた投稿 に記載されている手順-この問題は解決しません

この質問に対する回答はありません:
「ビルドデータベースのディスクI/Oエラーへのアクセス」エラーが発生する理由

3
lal

Xcode 11には_Command Line Tools_を使用します

_Command Line Tools_(xcodebuild)の正しいバージョンが使用されていることを確認すると、完全なクリーン&ビルドのユニバーサルフレームワークフレッシュが機能します。そして、プロジェクトはNew Build System (Default)を使用しています。また、Xcode 11 GM-Build 11A419c(seed 1)でも動作しました。

次のコマンドを使用して、適切なリンクを確認します。

_xcodebuild -version
Xcode 11.0
Build version 11A419c
_

Correct version of Command Line Tools

以前は、古い_Xcode10.2_ xcodebuildを使用していました。

代替の回避策

Xcode 11を備えた最新のシステムではなく_Legacy Build System_を使用しているため、適切な修正ではありません。

  1. 1つのオプションは、ユニバーサルフレームワークプロジェクトの場合、_Legacy Build System_を_Shared Project Settings_とともに使用することです。

    Shared Project Settings

  2. ドキュメントに記載されていないxcodebuildパラメータ_-UseModernBuildSystem=NO_を使用してみましたが、機能しませんでした。 [コマンドラインの修正作業中、更新予定]

関連リリースノート:GM-2シード用:2019年9月16日リリースビルド11A420a

XCFrameworkを使用すると、iOSデバイス、iOSシミュレーター、Mac Catalystなどの複数のプラットフォーム用のバイナリフレームワークまたはライブラリを、開発者が独自のアプリケーション内で使用できる単一の配布可能な.xcframeworkバンドルにバンドルできます。 .xcframeworkバンドルはXcodeターゲットのリンクライブラリフェーズに追加でき、Xcodeはビルド時に含まれるフレームワークまたはライブラリの適切なプラットフォームのバージョンを使用します。フレームワークの作成は、xcodebuild -create-xcframeworkを使用してコマンドラインからサポートされます。 XCFrameworkにバンドルされているフレームワークまたはライブラリは、ビルドライブラリの配布ビルド設定をYESに設定してビルドする必要があります。 (49948269)

1
lal