Skip to content

AppIntents Metadata Extraction Fails in Producer Mode with XCRemoteCache #243

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
canhth opened this issue Mar 4, 2025 · 2 comments
Open

Comments

@canhth
Copy link

canhth commented Mar 4, 2025

My integration setup

[ x] CocoaPods cocoapods-xcremotecache plugin
[ ] Automatic integration using xcprepare integrate ...
[ ] Manual integration
[ ] Carthage

Expected/desired behavior
After integrating Siri Shortcuts (AppIntents) into my project, I re-enabled XCRemoteCache (producer mode) and started encountering the following error. Everything was working fine a few months ago before Siri Shortcuts was added.

Normal builds (without XCRemoteCache) work as expected, but enabling XCRemoteCache causes this issue.

Expected Behavior

  • The build should complete successfully with XCRemoteCache.
  • The AppIntents metadata extraction should not halt the build process. Should skip like this:
    note: Metadata extraction skipped. No AppIntents.framework dependency found. (in target 'Broadcast' from project 'MyApp')

Possible Causes / Findings

  • XCRemoteCache might not be handling new metadata extraction steps added by Siri Shortcuts / AppIntents.
  • This issue happens in producer mode, suggesting something in remote caching logic conflicts with AppIntents processing.
  • Apple's documentation suggests that AppIntents may fail on iOS 15 or earlier unless ENABLE_APPINTENTS_DEPLOYMENT_AWARE_PROCESSING=NO is set. Could XCRemoteCache be interfering with this?

Minimal reproduction of the problem with instructions

  1. Enable XCRemoteCache in producer mode.
  2. Add Siri Shortcuts / AppIntents feature.
  3. Attempt a build with XCRemoteCache enabled.
  4. Observe the AppIntents metadata extraction error.
ExtractAppIntentsMetadata (in target 'NewWidgetExtension' from project 'MyApp')
    cd /Users/canhtran/Documents/Projects/MyApp-com
    /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/appintentsmetadataprocessor --output /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Products/Dev\ Debug-iphonesimulator/NewWidgetExtension.appex --toolchain-dir /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain --module-name NewWidgetExtension --sdk-root /Applications/Xcode-16.2.0.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.2.sdk --xcode-version 16C5032a --platform-family iOS --deployment-target 14.0 --bundle-identifier com.czzhao.MyApp.dev.NewWidget --target-triple x86_64-apple-ios14.0-simulator --binary-file /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Products/Dev\ Debug-iphonesimulator/NewWidgetExtension.appex/NewWidgetExtension --dependency-file /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Intermediates.noindex/MyApp.build/Dev\ Debug-iphonesimulator/NewWidgetExtension.build/Objects-normal/x86_64/NewWidgetExtension_dependency_info.dat --stringsdata-file /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Intermediates.noindex/MyApp.build/Dev\ Debug-iphonesimulator/NewWidgetExtension.build/Objects-normal/x86_64/ExtractedAppShortcutsMetadata.stringsdata --source-file-list /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Intermediates.noindex/MyApp.build/Dev\ Debug-iphonesimulator/NewWidgetExtension.build/Objects-normal/x86_64/NewWidgetExtension.SwiftFileList --metadata-file-list /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Intermediates.noindex/MyApp.build/Dev\ Debug-iphonesimulator/NewWidgetExtension.build/NewWidgetExtension.DependencyMetadataFileList --swift-const-vals-list /Users/canhtran/Library/Developer/Xcode/DerivedData/MyApp-hbydakxttvkkggdnfmcfqpdwplfx/Build/Intermediates.noindex/MyApp.build/Dev\ Debug-iphonesimulator/NewWidgetExtension.build/Objects-normal/x86_64/NewWidgetExtension.SwiftConstValuesFileList --validate-assistant-intents

2025-03-04 21:38:48.758 appintentsmetadataprocessor[36622:20139383] Starting appintentsmetadataprocessor export
2025-03-04 21:38:56.497 appintentsmetadataprocessor[36622:20139383] error: At least one halting error produced during export. No AppIntents metadata have been exported and this target is not usable with AppIntents until errors are resolved.
error: The operation couldn’t be completed. (GeneratorBuildProductExtractor.BinaryScanningError error 6.)

Pods/Carthage file

 [REPLACE THIS WITH YOUR INFORMATION] 

Environment

  • XCRemoteCache: Latest versions.
  • XCode: 16.2

Post build stats

 [REPLACE THIS WITH YOUR INFORMATION] 

Others

@canhth
Copy link
Author

canhth commented Mar 5, 2025

2025-03-05 12:19:59.444 appintentsmetadataprocessor[55585:21469472] Starting appintentsmetadataprocessor export
2025-03-05 12:20:06.014 appintentsmetadataprocessor[55585:21469472] error: At least one halting error produced during export. No AppIntents metadata have been exported and this target is not usable with AppIntents until errors are resolved.
error: The operation couldn’t be completed. (GeneratorBuildProductExtractor.BinaryScanningError error 6.)
error: Unable to find symbol: MyAppShortcuts. Check to see if this is not private and visible in scope.
error: Unable to find symbol: OpenAppIntent. Check to see if this is not private and visible in scope.
error: Unable to find symbol: VoiceInteractionIntent. Check to see if this is not private and visible in scope.

Disable remotecache will be normal again.

@canhth
Copy link
Author

canhth commented Mar 7, 2025

Hi @polac24 ,
May I ask if you have any idea/suggestion?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant