React-native-ble-plx: error: module map file '/.../MultiplatformBleAdapter.modulemap' not found

Created on 17 Jul 2020  路  10Comments  路  Source: Polidea/react-native-ble-plx

I'm having a big trouble with your plugin setup.

I was using 1.1.0 till yesterday and all was working fine.
After having upgrade xcode to 11.6 I wasn't more able to compile my project.
So, I tried to upgrade to plugin to 2.0.1 but now I get this error:

error: module map file '/.../Library/Developer/Xcode/DerivedData/xxx-eyicbfvltgytoaajmpvheqagxbhy/Build/Products/Release-iphoneos/MultiplatformBleAdapter/MultiplatformBleAdapter.modulemap' not found

Please help me to fix this issue

setup stale

Most helpful comment

After a bit of digging, I managed to figure out that this issue is only happening when I open project.xcodeproj but not when I open project.xcworkspace in xcode.

I am a novice RN developer and don't have any experience with iOS development. I suppose when you said '_Open Xcode workspace_' in the 3rd point in the iOS setup you meant open project.xcworkspace.

My apologies.

All 10 comments

Have you gone through migration procedure and run pod install?

I am facing the same issue.
I have followed the procedure mentioned here: https://github.com/Polidea/react-native-ble-plx#ios-example-setup
I am running xcode 11.5
react-native-ble-plx version 2.0.1

The error is :
module map file '/.../Library/Developer/Xcode/DerivedData/AwesomeProject-cmcxrnertsehnadwgrwewpctmhyw/Build/Products/Debug-iphonesimulator/MultiplatformBleAdapter/MultiplatformBleAdapter.modulemap' not found

failed to emit precompiled header '/.../Library/Developer/Xcode/DerivedData/AwesomeProject-cmcxrnertsehnadwgrwewpctmhyw/Build/Intermediates.noindex/PrecompiledHeaders/AwesomeProject-Bridging-Header-swift_2W1ENYSBLE5D-clang_1BGZMS7NMOI9O.pch' for bridging header '/.../ReactNativeProjects/TestForDummies/AwesomeProject/ios/AwesomeProject-Bridging-Header.h'

After a bit of digging, I managed to figure out that this issue is only happening when I open project.xcodeproj but not when I open project.xcworkspace in xcode.

I am a novice RN developer and don't have any experience with iOS development. I suppose when you said '_Open Xcode workspace_' in the 3rd point in the iOS setup you meant open project.xcworkspace.

My apologies.

We are seeing this issue with yarn run ios on 0.62.x
We aren't having any issues building when we build from xcode's 11.2 workspace

I can fix this by adding a .swift file, but doesn't seem to be in the spirit of auto-linking.

do we even still add the bridging file in 0.62.x?

  - react-native-ble-plx (2.0.1):
    - MultiplatformBleAdapter (= 0.1.6)
    - React
fatal error: module map file '/Users/jahead/Library/Developer/Xcode/DerivedData/Jadeite-atdtsqawtfcfbfevhwmtgfiuyouh/Build/Products/Debug-iphonesimulator/MultiplatformBleAdapter/MultiplatformBleAdapter.modulemap' not found

Okay, with trying to debug this, I was able to get this working.

Deleting the pods folder didn't seem to work.
I had to delete the node_modules/Pods folder/pod cache and DerivedData folder.

it was still broken, but after rebooting it worked.
I have no idea what happened, but yarn run ios was definitely caching something, and doing a simple pods/node_modules reinstalling didn't work.

I also faced this issue when I run on simulator. However it's working fine on real device.
My environment:

  • iOS: 14.1
  • Xcode: 12.1
  • react-native: 0.63.3
  • react-native-ble-plx: 2.0.1

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

i am having the same issue. what was the steps you have done in order to get it working?

My app had once got a similar error after upgrading the bare workflow expo app's expo sdk version from 40 to 41. After manually adjusting many node_modules and pod install and pod updates, I got stuck to the same issue:

error: module map file '/.../Library/Developer/Xcode/DerivedData/xxx-eyicbfvltgytoaajmpvheqagxbhy/Build/Products/Release-iphoneos/MultiplatformBleAdapter/MultiplatformBleAdapter.modulemap' not found

But it was accompanied with another issue, which made me think that the underlying issue was not the above issue:

error: failed to emit precompiled header '/var/folders/kd/4gh0_kxx3jx4thjb_sssmmcw0000gn/T/AppName-Bridging-Header-97bd5f.pch' for bridging header '/Users/ringo/Downloads/AppName-master/AppName/Resources/AppName-Bridging-Header.h'

It only happened when a release version was built. When I built it in debug, everything is just fine.

Then I search for the reason for "error: failed to emit precompiled header" and got a bunch of solutions for this issue here:

https://stackoverflow.com/questions/45779591/failed-to-emit-precompiled-header-for-bridging-header/52721354

Here I found my solution is that I added x86_64 in Xcode's "Project -> Build Settings -> User-Defined -> VALID_ARCHS", it turns out to be that the system did not recompile the app in simulator, which runs intel's x86_64 arch.

If VALID_ARCHS cannot be found, just add it by clicking the + on the tabs above.

Still don't know will it affect build for real devices

A New update for my post yesterday. the use of VALID_ARCHS is deprecated since Xcode 12 so we'd better not touching it.

Instead, if you are having the problem when building for simulator and you are not using apple M1 laptop, you may add arm64 to "Excluded Architecture - Any iOS Simulator SDK" under "build settings" on both your target app and pod.

But my case is about that after I upgrade the pods and apps with ios deployment target to 11.0 under "Info", I forget to adjust it under "Build Settings - Deployment - iOS Deployment Target".

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alfacommunication-alessandro picture alfacommunication-alessandro  路  3Comments

devgeno picture devgeno  路  4Comments

brycejacobs picture brycejacobs  路  5Comments

cltsang picture cltsang  路  4Comments

adyanced picture adyanced  路  5Comments