web-dev-qa-db-ja.com

プロジェクトのビルド中にXcode 10ベータエラーが発生しましたか?

その後、Xcodeを10ベータに更新しました。ビルドすると、ビルドが失敗し、以下のエラーが発生します。

ビルドデータベース「/Users/n/Library/Developer/Xcode/DerivedData/Build/Intermediates/XCBuildData/build.db」へのアクセス:データベースがロックされている可能性があります2つの同時ビルドが同じファイルシステムの場所で実行されています。

以下のようなビルドフェーズにスクリプトがあります

  set -e
  if [ -d "${PROJECT_DIR}/Frameworks" ]; then
  rm -rf "${PROJECT_DIR}/Frameworks"
  fi
  mkdir "${PROJECT_DIR}/Frameworks"
  #FRAMEWORKS_PATH="${PROJECT_DIR}/../Frameworks"
  xcodebuild -project 

  "${PROJECT_DIR}/../iOS/Frameworks/sdk/SDK.xcodeproj" -scheme 
  "SDKAggregate" -sdk "iphoneos" -configuration "Build"

 cp -r 
 ${PROJECT_DIR}/../iOS/Frameworks/sdk/"SDK.framework" 
 "${PROJECT_DIR}/Frameworks"

このリンクを見つけました[ Xcode 10:DBエラーを添付できません

しかし、私の場合は異なります。よろしくお願いします。

注:[新しいビルドシステム]を選択すると、このエラーが発生します。レガシービルドシステムでは、すべて正常に動作します。

8
tp2376

オプション1

レガシービルドシステムで言ったように、すべてが正常に機能しますが、新しいビルドシステムでは機能しません。

オプション:2

スクリプトを削除し、新しいビルドシステムでテストしたプロジェクトに手動でSDKバイナリを追加すると正常に動作します。

スクリプトの助けを借りてSDKをビルドするときに、新しいビルドシステムで2つのビルドを同時に実行してエラーをスローすると考えています。

2
tp2376

ターミナルから特定のターゲット(集約ターゲット)にxcodebuildを実行している場合、OBJROOT = "$ {OBJROOT}/DependentBuilds"の例を追加するだけで解決策が見つかりました。

Sudo xcodebuild -project YourProject.xcodeproj -target YourProject-Universal -destination "platform = iOS、name = generic/iOS" OBJROOT = "$ {OBJROOT}/DependentBuilds"

XcodeがDependentBuildsディレクトリを作成できるようにSudoを追加しましたが、フォルダーのアクセス許可を変更することで機能します。

7
David Cortes

-schemaを-targetに置き換えたところ、うまく機能しました(ただし、特定のケースでのみ機能する可能性があります)。

1
retterdesapok

ターミナルからxcodebuildを実行すると、このエラーが発生しました。 DerivedDataの中に、プロジェクト用に1つではなく2つのフォルダーがあることに気付きました。両方を削除し(一方は自動的に再生成されました)、エラーの表示を停止しました。

0
Allanah Douglas

ファイルを追加しましたWorkspaceSettings.xcsettings in myProject.xcodeproj/project.xcworkspace/xcshareddata

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildSystemType</key>
    <string>Original</string>
</dict>
</plist>

そして、これはそれを修正しました

0
Alberto M