No bundle URL error present in iOS build on Simulator

Hello,

I’ve recently tried to run joplin on iOS. However, when I open the app on the Simulator this shows up.

I’ve tried quite a few solutions, but none of those seem to work. If anyone knows a fix, please do share.

I gathering build challenges. There has been another discussion to building on iOS recently.
Do you have an iOS device or do you simulate only?
What is your dev environment?

Build system was changed recently. Please delete the repo, clone it again and follow BUILD.md.

I’m facing the issue in the Simulator. After reading your comment, I tried building the app to my iPhone. I had to disable iCloud functionalities and Push notification to make it build (I don’t have dev account).
Even then, I got the error “library not found: lDoubleConversion” when building from XCode. To fix this, I did.

cd ios
pod install
rm -rf build
cd ..
rm -rf node_modules
npm install
killall -9 node

After this, the build on the iPhone was successful. I built the same workspace from XCode on iPhone and Simulator and the problem occurs only on the Simulator.

My dev environment. I guess you meant my OS. I use macOS Catalina 10.15.2. XCode version is 11.3.1.

I tried cloning it again and building. Same problem on the Simulator, works fine on iOS.

What commands did you run exactly? Because what you’ve listed above is not in BUILD.md

I cloned the repo.
npm install
cd ReactNativeClient
and then react-native run-ios

These were the instructions mentioned in the BUILD.md.

Did you try this?

To run the iOS application, it might be easier to open the file ios/Joplin.xcworkspace on XCode and run the app from there.

Yes. That’s when I got the IDoubleConversion not found error. I fixed it as mentioned above.
From the workspace, build on iPhone works fine. It is the simulator that has issues.

And the bundler is running? ./start_server.sh

Assuming it is the file in the ReactNativeClient folder, It doesn’t do anything.
The contents of ./start_server.sh is:

#!/bin/bash

npm start -- --reset-cache

However, the package.json file doesn’t have a start script.

"scripts": {
"start-ios": "react-native run-ios",
"start-android": "react-native run-android",
"postinstall": "jetify && npm run build",
"build": "gulp build",
"log-ios": "react-native-log-ios \"Joplin\"",
"log-android": "adb logcat *:S ReactNative:V ReactNativeJS:V"
}

Hmm, looks like the “start” command has been lost in the recent update, I will add it back.

In the meantime you can try to run:

node node_modules/react-native/local-cli/cli.js start --reset-cache

Yepp. It works now.

I’m absolute noob in regard to iOS, I don’t have any apple device.
So you use XCode 11, do you? Testing the app you follow Running Your App in the Simulator or on a Device | Apple Developer Documentation, correct?

ever used https://docs.expo.io/versions/latest?

Hey PackElend,
The problem was not with the build, but with the start up script. The bundler start script was not hooked properly to the run-ios script. Running the bundler manually by running:

Seems to fix the problem in the Simulator

I got that, just wasn’t sure about your dev tools

1 Like