Sample project crashes on boot ios
Please provide your development details as below;
1. SDK Version: 5.0
2. Development Environment: iOS
3. Tracker/Scanner: ANY
4. License Type: Pro Subscription
5. Target Device(Optional): iPhone (ANY)
We finally got the iOS version of the sample app (downloaded without modification) to build in xcode. It installs on device.
However the moment you press run in xcode, or press the icon on device, the app tries to boot for less than 1 second, then crashes.
btw, before we got it to install, it would always fail. Unity provided this error.
Undefined symbols for architecture arm64:
“_vImageConvolve_Planar8”, referenced from:
+[vImage_function vImage_gaussian_3x3:Stride:Height:Source:Dest:] in libMaxstAR.a(vImage_function.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
We fixed it by adding the accelerator library to the xcode project. But now it installs but crashes on boot. This crash occurrs on both xcode and in the device.
In xcode, it crashes so fast that xcode's debig console doesn't even have time to connect and tell us what's going wrong.
Hello,
We have also been encountering this same error for two days (Undefined symbols for architecture arm64: “_vImageConvolve_Planar8”, referenced from […] libMaxstAR.a(vImage_function.o))
(We are using Maxst v5.0.0 inside Unity 2019.3, running in latest Xcode (v11.3), targeting iOS 11 support. We assume Maxst v5.0.0 for Unity supports arm64 architecture, given that MasARKitController.o in Maxst requires references to classes within ARKit, and ARKit only supports arm64 support in Unity.)
Questions for Maxst:
(1) Does Maxst v5.0.0 for Unity support arm64? (Or is there a way to build Maxst without needing ARKit from Unity 2019.3?)
(We know that in early 2018, Maxst did not yet support arm64 in iOS. We saw that Maxst added support for Android 64bit in Maxst v4.1.1, but don’t see any direct mention of arm64 support for iOS in the Maxst changelog)
(2) We wonder if this error could be due to a missing #include statement, or perhaps incorrect Linked Frameworks settings in XCode. Would you be able to verify whether these settings are correct? Here are our current Linked Frameworks settings, building directly from Unity 2019.3 (using Maxst v5.0.0), opening within XCode 11.3 :
We can see from an old forum post that here were the settings that were required previously for a native Swift iOS project:
(We could not find an example of these settings needed for a Unity-based project.)
Thanks in advance!
Best Wishes,
Holland
We added something called the "accellerator library" to xcode, and that seemed to remove that bug. You seem to have done that in your screenshots. Are you still encountering the error
Hi Tuck,
No, unfortunately the first screenshot shows the current linked framework settings, after building directly from Unity, and opening within XCode 11.3. It appears we did not have to add it manually as you did, but we are encountering the same error regardless. We suspect something is going wrong with the linking of the Accelerate framework, or with the ability for XCode to find the vImage.framework located/nested inside it.
Besides adding the Accelerate.framework to the 'Link Binary with Libraries' section, did you perform anything else? (Also, does your list contain any differences from ours?)
(Please ignore the second screenshot - it appears to be for native Swift projects only)
Holland
Actually, we don't have anything in the Link Binaries with Libraries section of the Build Phases.
I'll find out exactly how we got past this problem. Sorry, it'll take a few hours.
Thanks Tuck, yes that would be helpful to know - much appreciated!
@bhlee - Leo, do you know if anyone at Maxst has encountered this particular error before?
Thanks again!
Here's how we got it working.
After exporting MaxST iOS project to XCode, go to "UnityFramework" under "Targets" and under "Frameworks and Libraries" add "Accelerate.framework".
(1) Does Maxst v5.0.0 for Unity support arm64? (Or is there a way to build Maxst without needing ARKit from Unity 2019.3?)
(We know that in early 2018, Maxst did not yet support arm64 in iOS.We saw that Maxst added support for Android 64bit in Maxst v4.1.1, but do n’t see any direct mention of arm64 support for iOS in the Maxst changelog)
The MAXST SDK supported iOS 64-bit builds before 5.0.0. In 4.1, we added support for Android 64-bit builds, which were not previously supported, which is why Android is only listed in the release notes.
(2) We wonder if this error could be due to a missing #include statement, or perhaps incorrect Linked Frameworks settings in XCode. Would you be able to verify whether these settings are correct? Here are our current Linked Frameworks settings, building directly from Unity 2019.3 (using Maxst v5.0.0), opening within XCode 11.3:
As tuck answered, adding an accellerator library solved it. This library is required to use our SDK and is distributed along with the code that we already import. Perhaps it was missing during user development.
Thank you.
Leo
Maxst Support Team
Hello!
We have the following setup:
1. SDK Version: 5.0
2. Development Environment: Windows 10, Unity 2019.3.1f1, XCode 11.3
3. Tracker/Scanner: ANY
4. License Type: Pro-One time fee
5. Target Device(Optional): iPhone/iPad (ANY)
But the problem still remains even after adding "Accelerate.framework" to "Frameworks and Libraries". Any thoughts on this issue?
Thank you in advance.