Ld: symbol(s) not found for architecture

I’m having trouble building any iOS apps in Fire with DataAbstract added as a reference, even stuff that worked a few days ago, before I updated a few of the tools to the latest. I will go back and try older versions. I just built an empty iOS project which builds fine, then added the reference and get the error “ld: symbol(s) not found for architecture arm64”
This is the logbuildLog.txt (31.4 KB) and the project Archive.zip (118.9 KB) plus my versions (I’m actually needing to use Xcode 10 as I have to build for iOS12.4 but this is all defaults really)

you need references to Security and libxml2, judging by the error messages. I’ll see if I/we can fix it to make these automatic.

Curious, why do you have to still build against 12 (opposed to 13, with a deployment target of 12 or lower)?

—marc

Blimey marc, that was quick! Thanks, and welcome home :wink:
That did indeed fix it, maybe they were added before before as part of DA or they are new requirements I’ve missed, as this affected all my current apps.

If I try and use Xcode 11, and run it on a device with 12.4 then I get “The selected SDK version ‘iOS 12.4’ for target 'Toffee-iOS is not supported by the active Xcode 11.1.” so I just found it easier to switch Xcode as nothing else I tried worked.

Might be a regression of the new import, DA10 uses Import projects, while DA9 used a custom script and the old HeaderImporter.exe. I’ll try and fix.

Curious, you get this when running, even with the deployment target set? Fire, I presume?

Oh course Fire!
Ah, I changed the Target SDK to 12.4 as well as the deployment target. If I only set the deployment target then I see a warning "Unsupported deployment target version ‘12.4’ but it does seem to work.
I’m actually building another app that has to support 9.3 as it has to run on iPods that are stuck on that iOS, so that’s useful to work out, thanks.

That makes sense, yeah. Xcode 11.1 has only the 13.2 SDK. so you must build against that (I recommend just setting the SDK to “iOS”, no version). You can set the Deployment SDK to the lowest version you wanna support.

That way your app builds against the latest (soon a requirement for store submission), can leverage all the new features when running on new OS (say dark mode) for free, but you can still target older versions too. Check for "not available’ warnings and use “if available("iOS 13")” or similar for version0-specific code, if needed.

1 Like

Fixed for next RO/DA build, I hope.

1 Like

Thanks.

1 Like