I've got this error when trying to build iOS app on Apple Mac

Hi guys, I’ve got this error when trying to build iOS app on Apple Mac.
I’m building it with Defold 1.9.0
What could the error be?
Please help!

com.defold.extender.ExtenderException: java.io.IOException: Cannot run program "/Users/bjorn/extender-production/platformsdk/XcodeDefault15.4.xctoolchain/usr/bin/bitcode_strip": error=2, No such file or directory
at com.defold.extender.process.ProcessUtils.execCommand(ProcessUtils.java:43)
at com.defold.extender.process.ProcessUtils.execCommand(ProcessUtils.java:25)
at com.defold.extender.process.ProcessUtils.execCommand(ProcessUtils.java:18)
at com.defold.extender.process.ProcessUtils.execCommand(ProcessUtils.java:14)
at com.defold.extender.services.cocoapods.CocoaPodsService.stripBitcode(CocoaPodsService.java:218)
at com.defold.extender.services.cocoapods.CocoaPodsService.copyPodFrameworksFromArchitectureDir(CocoaPodsService.java:232)
at com.defold.extender.services.cocoapods.CocoaPodsService.copyPodFrameworks(CocoaPodsService.java:285)
at com.defold.extender.services.cocoapods.CocoaPodsService.resolveDependencies(CocoaPodsService.java:509)
at com.defold.extender.Extender.resolve(Extender.java:2774)
at com.defold.extender.AsyncBuilder.asyncBuildEngine(AsyncBuilder.java:117)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:114)
at org.springframework.scheduling.concurrent.DelegatingErrorHandlingCallable.call(DelegatingErrorHandlingCallable.java:52)
at io.micrometer.context.ContextSnapshot.lambda$wrap$1(ContextSnapshot.java:106)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: Cannot run program "/Users/bjorn/extender-production/platformsdk/XcodeDefault15.4.xctoolchain/usr/bin/bitcode_strip": error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1170)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1089)
at com.defold.extender.process.ProcessExecutor.execute(ProcessExecutor.java:56)
at com.defold.extender.process.ProcessUtils.execCommand(ProcessUtils.java:39)
... 22 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:295)

It’s important to note that we only support 6 versions back (i.e. 6 months), as it would be overwhelming to support otherwise.

6 versions back means 1.9.7, and at that time we bumped to XCode 16. (your message mentions 15.4)

So, easiest (recommended approach) is to upgrade to a newer version.
The alternative is for you to setup your own build server.

1 Like

Thanks Mathias!
Do you think that it would be fine for live updates? Will it be still compatible with builds on Defold 1.9.0?
My app was build on 1.9.0 and now I want to release new updates.

I’d say it’s likely that some file formats has changed.

You could try building your project without any extensions. I.e. it will just build the content.

You mean I should try to build in 1.9.7 and without extensions? Generally I just need live update data to release new update.

It seems I can still using Defold 1.9.0 to build live updates. Looking at the build folder I still see the live updates file even I’ve got the error. I’ll try it to see if it’s fine. Thanks

No, I meant, use your current editor/bob.jar, and build without native extensions.
When not using native extensions, you don’t need the cloud build server.

Note that this is just for building your content.

If you rely on extensions for content (like extension-spine or extension-rive), then you need to solve the issue using the suggestions I gave above.

1 Like