Skip to content

Cycle inside error with Xcode 15 beta2 #11471

@bestwnh

Description

@bestwnh

Description

When I use Xcode 15 beta1 and beta2 to build my product, Xcode show up an error message:


Showing All Messages
Cycle inside SaleAppDev; building could produce unreliable results.
Cycle details:
→ Target 'SaleAppDev': ExtractAppIntentsMetadata
○ That command depends on command in Target 'SaleAppDev': script phase “Run Firebase Crashlytics Framework”
○ Target 'SaleAppDev' has a command with output '/Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app.dSYM'
○ Target 'SaleAppDev' has process command with output '/Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/Info.plist'
○ Target 'SaleAppDev' has copy command from '/Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/SourcePackages/artifacts/aws-sdk-ios-spm/AWSCore/AWSCore.xcframework/ios-arm64_i386_x86_64-simulator/AWSCore.framework' to '/Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/Frameworks/AWSCore.framework'


Raw dependency cycle trace:

target:  ->

node: <all> ->

command: <all> ->

node: /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Intermediates.noindex/SaleApp.build/Debug-iphonesimulator/SaleAppDev.build/Objects-normal/arm64/ExtractedAppShortcutsMetadata.stringsdata ->

command: P0:target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad-:Debug:ExtractAppIntentsMetadata ->

node: <target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--package-copy-files-phase> ->

command: P0:::Gate target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--package-copy-files-phase ->

CYCLE POINT ->

node: <target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--fused-phase3-copy-files> ->

command: P0:::Gate target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--fused-phase3-copy-files ->

node: <target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--fused-phase2-run-firebase-crashlytics-framework> ->

command: P0:::Gate target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--fused-phase2-run-firebase-crashlytics-framework ->

node: <execute-shell-script-9158ce05fb5c3595d8f47cfea6cad70818949a790f5e1b8e3c3cfd1c5335f867-target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad-> ->

command: P2:target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad-:Debug:PhaseScriptExecution Run Firebase Crashlytics Framework /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Intermediates.noindex/SaleApp.build/Debug-iphonesimulator/SaleAppDev.build/Script-3AE1F9A71AA6D7E600F7C8E5.sh ->

node: /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app.dSYM/Contents/Resources/DWARF/SaleAppDev ->

command: P0:target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad-:Debug:GenerateDSYMFile /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app.dSYM /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/SaleAppDev ->

node: /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/Info.plist ->

command: P0:target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad-:Debug:ProcessInfoPlistFile /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/Info.plist /*project path*/SaleAppDev-Info.plist ->

node: /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/Frameworks/AWSCore.framework ->

command: P0:target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad-:Debug:Copy /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/Build/Products/Debug-iphonesimulator/SaleAppDev.app/Frameworks/AWSCore.framework /Users/galvin/Library/Developer/Xcode/DerivedData/SaleApp-bflooukvzshbnyftcyfhikcrvfzk/SourcePackages/artifacts/aws-sdk-ios-spm/AWSCore/AWSCore.xcframework/ios-arm64_i386_x86_64-simulator/AWSCore.framework ->

node: <target-SaleAppDev-9158ce05fb5c3595d8f47cfea6cad708268edd9a57a401552e80349710d5b9ad--fused-phase3-copy-files>


This error only show up in some specific situations. My app contains some SPM libraries:
a. firebase (https://github.com/firebase/firebase-ios-sdk, 10.10.0, with Crashlytics upload script)
b. aws ios sdk (https://github.com/aws-amplify/aws-sdk-ios-spm, 2.33.0)
c. cardio (https://github.com/verygoodsecurity/CardIOSDK-iOS.git, 5.5.7)
d. some other library, not important

For Xcode 14:
a+b+c+d: build success ✅

For Xcode 15 beta1 and beta2:
a+b+c+d: build failed, cycle inside error ❌
a+c+d: build failed, cycle inside error ❌
a+b+d: build failed, cycle inside error ❌
a+d: build success ✅
b+c+d: build success ✅
a+b+c+d, but remove the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME} for Crashlytics upload script in Input Files: build success ✅

Looks like there is a conflict with the input files of Crashlytics upload script and some xcframework library.

Reproducing the issue

No response

Firebase SDK Version

10.10.0

Xcode Version

15.0 beta.2

Installation Method

Swift Package Manager

Firebase Product(s)

Crashlytics

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
{
      "identity" : "firebase-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/firebase-ios-sdk",
      "state" : {
        "revision" : "5034479ca0c4f32f299677fb0ba1fe4d3e3e20b4",
        "version" : "10.10.0"
      }
    }

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions