-
Notifications
You must be signed in to change notification settings - Fork 5
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
Plugin causes build errors on iOS #34
Comments
Upgrading to Expo 51 does not resolve this issue. |
Hey @wongk! Can I please ask you to share the complete log from Xcode? The log you have shared is unrelated and it shouldn't cause the build to fail, since our script is supposed to be ran on every build. I will verify if we can make the warning disappear on our end. Please double check that:
UPDATE (regarding the warnings)Even though the warnings are not the cause of your issue, you can get rid of them by unchecking Based on dependency analysis in the Upload dSYMs to Datadog build phase. Since you might not have direct access to the Xcode project, I have opened a PR in the Xcode parser package that we indirectly use through expo to add the If you would like to get rid of the warnings, you could apply two patches using expo-datadog+50.2.0.patch diff --git a/node_modules/expo-datadog/build/plugin/withIosDsyms/withIosDsyms.js b/node_modules/expo-datadog/build/plugin/withIosDsyms/withIosDsyms.js
index 67dcd3b..aca7b4c 100644
--- a/node_modules/expo-datadog/build/plugin/withIosDsyms/withIosDsyms.js
+++ b/node_modules/expo-datadog/build/plugin/withIosDsyms/withIosDsyms.js
@@ -17,6 +17,7 @@ const withIosDsyms = (config) => {
xcodeProject.addBuildPhase([], "PBXShellScriptBuildPhase", BUILD_PHASE_NAME, null /* target */, {
shellScript: `set -e\\n ../node_modules/.bin/datadog-ci dsyms upload $DWARF_DSYM_FOLDER_PATH`,
shellPath: "/bin/sh",
+ alwaysOutOfDate: true,
});
return config;
});
xcode+3.0.1.patch diff --git a/node_modules/xcode/lib/pbxProject.js b/node_modules/xcode/lib/pbxProject.js
index 068548a..8f27ab2 100644
--- a/node_modules/xcode/lib/pbxProject.js
+++ b/node_modules/xcode/lib/pbxProject.js
@@ -1644,6 +1644,10 @@ function pbxShellScriptBuildPhaseObj(obj, options, phaseName) {
obj.shellPath = options.shellPath;
obj.shellScript = '"' + options.shellScript.replace(/"/g, '\\"') + '"';
+ if (options.alwaysOutOfDate != null) {
+ obj.alwaysOutOfDate = options.alwaysOutOfDate;
+ }
+
return obj;
} |
It appears that fastlane does not make the full Xcode build log available, but here are the relevant bits from my stdout/err:
|
Have you checked the points I have mentioned?
|
Yep they're good to go. |
Is there any way you could provide us with more detailed logs? It is difficult to tell what the problem is without further information. Does your const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
const config = {
transformer: {
assetPlugins: ['expo-asset/tools/hashAssetFiles'],
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false
}
})
}
}
module.exports = mergeConfig(getDefaultConfig(__dirname), config) |
I'll see what more logs I can get out of expo. Here is our metro config:
|
I was not able to get Xcode logs when running an EAS build locally, but I was finally able to get them when running on EAS cloud. Here is the actual error message: In our case (tamagui project, monorepo using yarn workspaces), this relative path is incorrect. The |
We have the same issue in our project using turbo repo |
@marco-saia-datadog I have confirmed that this issue is resolved for iOS. Thank you! However, the issue also exists for Android.
|
Hi @wongk! Have you updated our SDK to the latest version? |
I sure have. That's how I confirmed it's working for iOS. |
The reason why I am asking is because the iOS fix is contained in the new Expo release, while the Android fix is contained in the SDK release (@datadog/mobile-react-native package) in v2.3.6. If you have verified that the fix does not work, even after cleaning up your project and using the latest release, you can temporarily set the |
Got it. It wasn't clear to me that you were referring to the react native SDK and not the expo-datadog plugin. I did not click the link. I will give that a shot. |
Confirmed no build errors on Android after updating the SDK version. Thank you! |
Perfect! Glad I could help 😃 |
@wongk , how did you get the more detailed error message on EAS cloud? I am also receiving this error:
But I can't seem to figure out what the underlying error is. My hunch is that it isn't picking up |
After following the directions here: https://docs.datadoghq.com/real_user_monitoring/error_tracking/mobile/expo/ and here: https://docs.datadoghq.com/real_user_monitoring/mobile_and_tv_monitoring/setup/expo/#upload-source-maps-on-eas-builds, my iOS builds are now failing with the following error:
My Expo version is 50.0.17 and my expo-datadog version 50.2.0.
The text was updated successfully, but these errors were encountered: