The Lisp part of the application needs to be delivered using one of three special images:
lispworks-8-0-0-arm64-darwin-ios
which build runtimes for both the iOS Simulator and for a real iOS device when creating them on Apple silicon Macs. Or:lispworks-8-0-0-amd64-darwin-ios
which builds runtimes for the iOS Simulator, running on macOS on Intel based Macs. Or:lispworks-8-0-0-arm64-linux-ios
which builds runtimes for a real iOS device when creating them on Intel based Macs. To do this, you run the QEMU emulator on macOS and tell it to run the lispworks-8-0-0-arm64-linux-ios
image.
There is an example script examples/ios/run-lw-ios.sh
which can be used to invoke the correct images depending on the type of Mac you are using.
These images do not contain the GUI part of LispWorks, but do contain all the non-GUI parts.
There are no iOS-specific Lisp functions required to build the Lisp part of an application: you use deliver in the normal way. There are three differences compared to a desktop application:
".o"
extension.To include the delivered object file in an Xcode project, you should add the following to the Xcode project's "Other Linker Flags":
filename-${CURRENT_ARCH}-${PLATFORM_NAME}.o
where filename is the &FILE argument to deliver without the .o
extension.
Compatibility note: In previous versions of LispWorks, you needed to conditionalize the filename passed to deliver based on the platform. This is now done automatically and conditionalization should be removed.
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:21