How to build your project with Xcode 12.3

Hi,


Xcode 12.3 introduced a change that affects all iOS legacy frameworks that include support for multiple architectures. Our frameworks include device support (arm64) and iOS simulator support (x86_64). We are working on a long term solution, but in the meantime, you can still build your project with Xcode 12.3 by stripping our framework from all architecture support except for arm64:


<code>lipo -thin arm64 /path/to/WikitudeSDK.framewo<span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;"></span><span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;"></span>rk/WikitudeSDK -output /path/to/WikitudeSDK.framework/WikitudeSDK</code>


You will not be able to build your app for the iOS simulator, but it will build and run just fine on an iOS device. If you need to run your app on the simulator, save a copy of the original framework and use it in your project after running this command:


<code>lipo -thin x86_64 /path/to/WikitudeSDK.framework/WikitudeSDK -output /path/to/WikitudeSDK.framework/WikitudeSDK</code>


Please let us know if you have any further issues. For more details, you can also have a look at this forum post here.



- Damian

1 Comment

Greetings, I am having trouble building an archive to submit to the app store in Xcode.


ld: warning: Could not find or use auto-linked framework 'WikitudeSDK'

Undefined symbols for architecture armv7:

  "_kWTUnauthorizedAppleiOSSDKAPIsKey", referenced from:

      +[WTWikitudePlugin composeFailingAPIAuthorizationMessageFromError:] in WTWikitudePlugin.o

      ___34-[WTWikitudePlugin requestAccess:]_block_invoke in WTWikitudePlugin.o

  "_OBJC_CLASS_$_WTArchitectView", referenced from:

      objc-class-ref in WTWikitudePlugin.o

      objc-class-ref in WTARViewController.o

     (maybe you meant: _OBJC_CLASS_$_WTArchitectViewController)

  "_kWTScreenshotSaveModeKey", referenced from:

      -[WTWikitudePlugin didReceiveDidCapturedScreenNotification:] in WTWikitudePlugin.o

  "_kWTScreenshotBundleDirectoryKey", referenced from:

      -[WTWikitudePlugin captureScreen:] in WTWikitudePlugin.o

      -[WTWikitudePlugin didReceiveDidCapturedScreenNotification:] in WTWikitudePlugin.o

  "_OBJC_CLASS_$_WTArchitectStartupConfiguration", referenced from:

      objc-class-ref in WTWikitudePlugin.o

      objc-class-ref in WTARViewController.o

  "_OBJC_CLASS_$_WTAuthorizationRequestManager", referenced from:

      objc-class-ref in WTWikitudePlugin.o

ld: symbol(s) not found for architecture armv7



I am using the Cordova SDK. Building to device works fine.  XCode version is 12.3. I found this old post which seemed similar and made the change in architecture but same errors.  https://wikitude.freshdesk.com/support/discussions/topics/5000091763/page/last


Not sure if that change was still relevant. Attaching image of current architecture settings. Please advise what I need to do in order to fix the errors.


Login or Signup to post a comment