Search Unity

Error on Xcode when trying to Archive an ARFoundation Project from Unity.

Discussion in 'AR' started by tonOnWu, Nov 17, 2018.

  1. tonOnWu

    tonOnWu

    Joined:
    Jun 23, 2017
    Posts:
    83
    Hi Guys.

    Everything is ready with our App, but now we found that we can't make Archiving and posting our project to the App Store Connect.

    I'm using Unity 2018.2.15.f1. Our App is an ARFoundation project (AR Foundation .18, ARCore XR Plugin .20 and ARKit XR Plugin .15). My Xcode is 10.1 (10B61). Everything works on our mobiles, but when we used Xcode to Archiving (send it to Apple Connect) we get this error:

    linker command failed with exit code 1 (use -v to see invocation)
    clang


    This is the only detail of the error. We don't have more information.

    So, we decided to create a new empty Unity project including only our ARFoundation libraries (exactly the one I previously mentioned) and we confirmed that:
    1. Before Adding the ARFoundation Libraries, the project ran on our devices and we're able to Archiving to the Apple Connect.
    2. After we added the ARFoundation Libraries, the project ran on our devices BUT we are NOT able to Archiving.
    We have been researching this problem for the last 24 hours and we have found some theories that didn't work in our case because we're using ARFoundation.

    Please, we really appreciate your help. I need to release our new App as soon as possible.

    Thank you in advance.
     
  2. tdmowrer

    tdmowrer

    Joined:
    Apr 21, 2017
    Posts:
    605
    The actual linker error would be very useful to debug this. You should be able to expand the error message to get the full linker error message.

    This sounds similar to https://forum.unity.com/threads/multi-platform-handheld-ar.536313/ but that was fixed some time ago. Perhaps there's been a regression. If you can get the linker error then we'll know for sure.
     
  3. tdmowrer

    tdmowrer

    Joined:
    Apr 21, 2017
    Posts:
    605
    In Xcode 10, I've noticed it doesn't give you the linker error by default (Xcode 9 would show it on the errors pane). Now you have to click the icon to the right of the error:

    Screen Shot 2018-11-17 at 8.37.09 AM.png

    This will then expand to something like

    Screen Shot 2018-11-17 at 8.37.27 AM.png

    Note the error
    Undefined symbols for architecture..."_foo", referenced from...​
    Do you see anything like that?
     
  4. Jonas_Hartmann

    Jonas_Hartmann

    Joined:
    Apr 9, 2018
    Posts:
    4
    Encountered the same problem whey trying to archive our AR Foundation Project

    The error shows some Undefined symbols for architecture:

    Undefined symbols for architecture armv7:

    "_UnityARKitXRPlugin_PluginLoad", referenced from:

    +[UnityARKit loadPlugin] in UnityARKit.o

    "_UnityARKit_applyWorldMap", referenced from:

    _ARWorldMapSessionExtensions_ApplyWorldMap_m4002875487 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_applyWorldMap_m78968232 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_applyWorldMap_m78968232)

    "_UnityARKit_getWorldMappingStatus", referenced from:

    _ARWorldMapSessionExtensions_GetWorldMappingStatus_m1270955722 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getWorldMappingStatus_m2351639942 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getWorldMappingStatus_m2351639942)

    "_UnityARKit_disposeWorldMapRequest", referenced from:

    _Api_UnityARKit_disposeWorldMapRequest_m1802854613 in Bulk_Unity.XR.ARKit_0.o

    _ARWorldMapRequest_Dispose_m179761583_AdjustorThunk in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_disposeWorldMapRequest_m1802854613)

    "_UnityARKit_getWorldMapIdFromRequestId", referenced from:

    _ARWorldMapRequest_GetWorldMap_m3190511883 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getWorldMapIdFromRequestId_m2998835661 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getWorldMapIdFromRequestId_m2998835661)

    "_UnityARKit_getWorldMapRequestStatus", referenced from:

    _Api_UnityARKit_getWorldMapRequestStatus_m1134025598 in Bulk_Unity.XR.ARKit_0.o

    _ARWorldMapRequest_get_status_m2796667677_AdjustorThunk in Bulk_Unity.XR.ARKit_0.o

    _ARWorldMapRequest_GetWorldMap_m3190511883 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getWorldMapRequestStatus_m1134025598)

    "_UnityARKit_cameraImage_disposeImage", referenced from:

    _ARKitCameraImageApi_DisposeImage_m662852274 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_disposeImage_m914829679 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_disposeImage_m914829679)

    "_UnityARKit_trySerializeWorldMap", referenced from:

    _ARWorldMap_Serialize_m3328474007 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_trySerializeWorldMap_m4252249366 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_trySerializeWorldMap_m4252249366)

    "_UnityARKit_getNativePlanePtr", referenced from:

    _ARKitPlaneExtensions_GetNativePtr_m2167982242 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getNativePlanePtr_m3704264620 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getNativePlanePtr_m3704264620)

    "_UnityARKit_isWorldMapValid", referenced from:

    _Api_UnityARKit_isWorldMapValid_m483668274 in Bulk_Unity.XR.ARKit_0.o

    _ARWorldMap_get_valid_m539875332_AdjustorThunk in Bulk_Unity.XR.ARKit_0.o

    _ARWorldMap_Serialize_m3328474007 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_isWorldMapValid_m483668274)

    "_UnityARKit_copyAndReleaseNsData", referenced from:

    _ARWorldMap_Serialize_m3328474007 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_copyAndReleaseNsData_m1923550746 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_copyAndReleaseNsData_m1923550746)

    "_UnityARKit_disposeWorldMap", referenced from:

    _Api_UnityARKit_disposeWorldMap_m1659997116 in Bulk_Unity.XR.ARKit_0.o

    _ARWorldMap_Dispose_m4221936191_AdjustorThunk in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_disposeWorldMap_m1659997116, _Api_UnityARKit_disposeWorldMapRequest_m1802854613 )

    "_UnityARKit_getNativeSessionPtr", referenced from:

    _ARKitSessionExtension_GetNativePtr_m1819741829 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getNativeSessionPtr_m2831431934 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getNativeSessionPtr_m2831431934)

    "_UnityARKitXRPlugin_SetupiOS", referenced from:

    +[UnityARKit loadPlugin] in UnityARKit.o

    "_UnityARKit_attachReferencePoint", referenced from:

    _ARKitReferencePointExtensions_AttachReferencePoint_m1545289816 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_attachReferencePoint_m3116019577 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_attachReferencePoint_m3116019577)

    "_UnityARKit_createWorldMapRequest", referenced from:

    _ARWorldMapSessionExtensions_GetARWorldMapAsync_m2809960396 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_createWorldMapRequest_m1851490687 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_createWorldMapRequestWithCallback_m1360977798, _Api_UnityARKit_createWorldMapRequest_m1851490687 )

    "_UnityARKit_getNativeReferencePointPtr", referenced from:

    _ARKitReferencePointExtensions_GetNativePtr_m2561364592 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getNativeReferencePointPtr_m2026319040 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getNativeReferencePointPtr_m2026319040)

    "_UnityARKit_cameraImage_createAsyncConversionRequest", referenced from:

    _ARKitCameraImageApi_ConvertAsync_m3638438570 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_createAsyncConversionRequest_m1162480092 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_createAsyncConversionRequest_m1162480092, _Api_UnityARKit_cameraImage_createAsyncConversionRequestWithCallback_m4004545126 )

    "_UnityARKit_cameraImage_handleValid", referenced from:

    _ARKitCameraImageApi_NativeHandleValid_m1815366387 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_handleValid_m3797900743 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_handleValid_m3797900743)

    "_UnityARKit_cameraImage_tryGetPlane", referenced from:

    _ARKitCameraImageApi_TryGetPlane_m3330633177 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_tryGetPlane_m2984817949 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_tryGetPlane_m2984817949)

    "_UnityARKit_worldMapSupported", referenced from:

    _ARWorldMapSessionExtensions_WorldMapSupported_m2583974795 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_worldMapSupported_m265074909 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_worldMapSupported_m265074909)

    "_UnityARKit_cameraImage_tryGetAsyncRequestData", referenced from:

    _ARKitCameraImageApi_TryGetAsyncRequestData_m1556239787 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_tryGetAsyncRequestData_m2737303315 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_tryGetAsyncRequestData_m2737303315)

    "_UnityARKit_cameraImage_disposeAsyncRequest", referenced from:

    _ARKitCameraImageApi_DisposeAsyncRequest_m1990369635 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_disposeAsyncRequest_m3800952772 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_disposeAsyncRequest_m3800952772)

    "_UnityARKit_CheckAvailability", referenced from:

    _ARKitSessionExtension_GetAvailabilityAsync_m410615261 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_CheckAvailability_m3120799004 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_CheckAvailability_m3120799004)

    "_UnityARKit_createWorldMapRequestWithCallback", referenced from:

    _ARWorldMapSessionExtensions_GetARWorldMapAsync_m2252780674 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_createWorldMapRequestWithCallback_m1360977798 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_createWorldMapRequestWithCallback_m1360977798)

    "_UnityARKit_getAnchorTrackingState", referenced from:

    _ARKitPlaneExtensions_GetTrackingState_m2048017765 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getAnchorTrackingState_m2010225283 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getAnchorTrackingState_m2010225283)

    "_UnityARKit_cameraImage_createAsyncConversionRequestWithCallback", referenced from:

    _ARKitCameraImageApi_ConvertAsync_m2531018385 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_createAsyncConversionRequestWithCallback_m4004545126 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_createAsyncConversionRequestWithCallback_m4004545126)

    "_UnityARKit_getNativeFramePtr", referenced from:

    _ARKitCameraExtension_GetNativePtr_m3368849876 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_getNativeFramePtr_m3264204189 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_getNativeFramePtr_m3264204189)

    "_UnityARKit_cameraImage_tryConvert", referenced from:

    _ARKitCameraImageApi_TryConvert_m1095525681 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_tryConvert_m2692072865 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_tryConvert_m2692072865)

    "_UnityARKit_cameraImage_tryAcquireLatestImage", referenced from:

    _ARKitCameraImageApi_TryAcquireLatestImage_m91807756 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_tryAcquireLatestImage_m2457466597 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_tryAcquireLatestImage_m2457466597)

    "_UnityARKit_cameraImage_getAsyncRequestStatus", referenced from:

    _ARKitCameraImageApi_GetAsyncRequestStatus_m2295143612 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_getAsyncRequestStatus_m2867032685 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_getAsyncRequestStatus_m2867032685)

    "_UnityARKit_deserializeWorldMap", referenced from:

    _ARWorldMap_TryDeserialize_m4154127412 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_deserializeWorldMap_m658286823 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_deserializeWorldMap_m658286823)

    "_UnityARKit_cameraImage_tryGetConvertedDataSize", referenced from:

    _ARKitCameraImageApi_TryGetConvertedDataSize_m3734771065 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_cameraImage_tryGetConvertedDataSize_m3869761633 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_cameraImage_tryGetConvertedDataSize_m3869761633)

    "_UnityARKit_IsCameraPermissionGranted", referenced from:

    _ARKitCameraExtension_IsPermissionGranted_m2169676259 in Bulk_Unity.XR.ARKit_0.o

    _Api_UnityARKit_IsCameraPermissionGranted_m2819318200 in Bulk_Unity.XR.ARKit_0.o

    (maybe you meant: _Api_UnityARKit_IsCameraPermissionGranted_m2819318200)

    ld: symbol(s) not found for architecture armv7

    clang: error: linker command failed with exit code 1 (use -v to see invocation)


    Hope this helps
     
  5. tdmowrer

    tdmowrer

    Joined:
    Apr 21, 2017
    Posts:
    605
    We don't build the UnityARKit library for armv7, so try removing the armv7 target from your archive. See also this forum post.
     
    sfir likes this.