Nativescript-cli: iOS cloud build xcode error "ld: symbol(s) not found for architecture armv7"

Created on 17 Nov 2019  Â·  6Comments  Â·  Source: NativeScript/nativescript-cli

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI: 6.2.0
  • iOS Runtime: 6.2.0
  • Plugin(s): nativescript-firebase

Describe the bug
The plugin "nativescript-firebase" use FBSDKCoreKit installed via pods. Installation result error when trying with cloud builds, this pod is related to Facebook Login, it could affect others NS devs.

The following build commands failed:
Ld /tmp/builds/_/d480723adf9bab509a22b71c25e628361710f2ee/6.2.0/6.2.0/SauveTonBio/platforms/ios/DerivedData/SauveTonBio/Build/Intermediates.noindex/ArchiveIntermediates/SauveTonBio/IntermediateBuildFilesPath/Pods.build/Debug-iphoneos/FBSDKCoreKit.build/Objects-normal/armv7/FBSDKCoreKit normal armv7
(1 failure)

[00:03:31.152] [ERROR] [xcode-build] ld: symbol(s) not found for architecture armv7
[xcode-build] clang: error: linker command failed with exit code 1 (use -v to see invocation)
[00:03:32.762] [ERROR] * ARCHIVE FAILED *

To Reproduce
tns cloud clean workspace && tns cloud run ios
You need certificate and mobile provision from Apple dev account as NS-CLI 6.2.0 can't generate it for free user.

Expected behavior
FBSDKCoreKit well installed.

Sample project
https://github.com/EddyVerbruggen/nativescript-plugin-firebase/tree/master/demo

bug cloud

All 6 comments

Hey @Sauvetonbio ,
Thank you for reporting this issue. We've applied a fix in our Cloud infrastructure, so can you please try building your project again and confirm it works on your side? As the issue has been resolved, I'm closing it, but feel free to reopen it in case you still receive the same error when building in the cloud.

Thank you for quick updates ! We don't receive this error anymore but unfortunally when I build my project with Facebook Login it stucks at this step â–¸ Running script '[CP] Embed Pods Frameworks'.
Tried twice using this windows command line : rmdir /Q /S platforms && tns cloud clean workspace && tns cloud run ios --clean

Project is still successfully built without the Facebook iOS SDK included.
Thank you.

@Sauvetonbio We checked the logs on cloud and it seems that your builds are successful, but we have an issue with builds taking over 15 minutes (as yours) that's going to be fixed today or tomorrow.

Meanwhile, when your build hangs, wait a couple of minutes and start a second incremental build. It should succeed. Incremental builds should finish faster and shouldn't hit the 15 minutes limit.

Hello, yes incremental builds are faster but always cause crash app at launch with physical device, we did'nt try with emulator. It's due to the "nativescript-firebase" plugin when we use the messaging module (app notifications).

When we disable the messaging module, incremental builds works fine, and app run correctly.

JavaScript error:
file:///node_modules\nativescript-plugin-firebase\messaging\messaging.js:214:37: JS ERROR TypeError: null is not an object (evaluating 'FIRMessaging.messaging().shouldEstablishDirectChannel = true')
* JavaScript call stack:
(
0 UIApplicationMain@[native code]
1 _start@file:///node_modules\tns-core-modules\application\application.js:277:26
2 run@file:///node_modules\tns-core-modules\application\application.js:305:11
3 $start@file:///node_modules\nativescript-vue\dist\index.js:14050:2
4 @file:///app/bundle.js:6827:10
5 ./app.js@file:///app/bundle.js:6831:34
6 __webpack_require__@file:///app\webpack\bootstrap:74:0
7 checkDeferredModules@file:///app\webpack\bootstrap:43:0
8 webpackJsonpCallback@file:///app\webpack\bootstrap:30:0
9 anonymous@file:///app/bundle.js:2:61
10 evaluate@[native code]
11 moduleEvaluation@:1:11
12 promiseReactionJob@:1:11
)
*
Terminating app due to uncaught exception 'NativeScript encountered a fatal error: TypeError: null is not an object (evaluating 'FIRMessaging.messaging().shouldEstablishDirectChannel = true')
at
file:///node_modules\nativescript-plugin-firebase\messaging\messaging.js:214:37

@Sauvetonbio Have you checked the solution from this issue: https://github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/1334?

Yes, we already use this "solution", it's not working with incremental builds but only with fresh clean builds using --clean or tns cloud clean workspace. It's quite weird ...
I think we will disable this module on debug mode, and don't forget to enable it for release builds.

Thank you for your support, I'm very happy to develop iOS apps on windows with your cloud builds.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DimitarTachev picture DimitarTachev  Â·  3Comments

bradmartin picture bradmartin  Â·  3Comments

ZMW9 picture ZMW9  Â·  3Comments

farfromrefug picture farfromrefug  Â·  3Comments

jerbob92 picture jerbob92  Â·  3Comments