Search Issue Tracker

By Design

Votes

10

Found in

5.6.0f3

Issue ID

900925

Regression

Yes

[iOS][Cardboard] Xcode throws linker error when VR SDK is set to Cardboard

iOS

-

Steps to reproduce:
1. Create a New project
2. Switch Target platform to iOS
3. Player Settings > Mobile Tab > Other Settings> Virtual Reality Supported = true, Add VR SDKs: Cardboard
4. Build the project
5. Build to iOS device via Xcode

Result: Build failed. A linker error in Xcode appeared: clang: error: linker command failed with exit code 1 (use -v to see invocation).

Reproduced with: 5.6.0p1, 2017.1.0b1.
Not reproduced with: 5.5.3f1.

Tested with: iPhone 6S iOS10.3, Xcode 8.3 beta 4

Note:
this page should be updated as well: https://developers.google.com/vr/unity/get-started-ios . It says that 5.6 beta is not supported however 5.6 is not in the beta anymore.

RESOLUTION:
BY DESIGN: The main issue is that the user opens the xcode project instead of workspace. If the .xcworkspace project is opened, everything works.

Comments (11)

  1. trakloz

    Oct 02, 2018 19:35

    Still an issue in 2018.2.10

  2. dgoodineyv

    Jun 12, 2018 18:39

    This is still an issue in 2018.1.

  3. baylorvrproject

    Feb 23, 2018 19:22

    We built a VR (using GVR components) app in Unity (2017.1.0f3) and are now trying to build it in Xcode (9.2). We have followed all the “methods” from this github article– opened the workspace instead of the project, updated the pods (GVRSDK 1.60) in the project directory, and deleted bogus library paths. We have even tried the bypass option in Method 3, but nothing seems to work. We were able to successfully build this same app using Unity 5.4.2 and publish (to TestFlight) with no problem. Now that we rebuilt the app using this later version of Unity, we can’t seem to be past the “linker command failed with exit code 1” error.

  4. Hogarth_BR

    Oct 30, 2017 13:55

    I'm also unable to open the xcode project in Unity 2017.2.0f3

  5. jcion

    Sep 06, 2017 08:09

    I also think this should be reopened.
    @MaskedMouse did you get your project working with unity cloud build? I haven't had any success with something similar because UCB doesn't have cocoapods capability.

  6. Remi_Sormain

    Aug 07, 2017 08:29

    The issue is not resolved since it doesn't seem possible to open the workspace in cloud build.
    Unless iOS VR support on cloud build is broken ... by design ?

  7. peterept2

    Jun 27, 2017 04:16

    This issue is stopping my Unity Cloud Builds. I can build locally fine. But the cloud build fails with linker errors:

    4894: [xcode] Undefined symbols for architecture arm64:
    4895: [xcode] "_gvr_set_default_viewer_profile", referenced from:
    4896: [xcode] _GvrCardboardHelpers_SetViewerProfile_m1833978500 in Bulk_Assembly-CSharp_0.o
    4897: [xcode] _GvrCardboardHelpers_gvr_set_default_viewer_profile_m4232937330 in Bulk_Assembly-CSharp_0.o
    4898: [xcode] (maybe you meant: _GvrCardboardHelpers_gvr_set_default_viewer_profile_m4232937330)
    4899: [xcode] "_gvr_reset_tracking", referenced from:
    4900: [xcode] _GvrCardboardHelpers_Recenter_m857608615 in Bulk_Assembly-CSharp_0.o
    4901: [xcode] _GvrCardboardHelpers_gvr_reset_tracking_m3334065992 in Bulk_Assembly-CSharp_0.o
    4902: [xcode] (maybe you meant: _GvrCardboardHelpers_gvr_reset_tracking_m3334065992)
    4903: [xcode] "_gvr_get_time_point_now", referenced from:
    4904: [xcode] _AndroidNativeKeyboardProvider_gvr_get_time_point_now_m2949313034 in Bulk_Assembly-CSharp_0.o
    4905: [xcode] _AndroidNativeKeyboardProvider_UpdateData_m3359755956 in Bulk_Assembly-CSharp_0.o
    4906: [xcode] (maybe you meant: _AndroidNativeKeyboardProvider_gvr_get_time_point_now_m2949313034)
    4907: [xcode] ld: symbol(s) not found for architecture arm64

    It's fine if I don't call any of those functions, but I need to for my app.

    Any work-around?

  8. guneyozsan

    Jun 06, 2017 14:05

    I get the same linker erros with ".xcworkspace" on 2017.1.0b8. This should be reopened.

  9. RoofedLizard

    May 10, 2017 07:31

    MASKEDMOUSE's method partially works for me. But I had face with another problems. So, I am waiting a permanent good solution from Unity or Google. Apple making things more complicated. For Android only Unity build would be enough but for Mac you need to build with Xcode too. So, you need to buy a Mac machine. I also use Unity 5.5.3 with GVR 1.3 or 1.4 as a temporary solution.

  10. MaskedMouse

    May 08, 2017 11:53

    It is kind of out of hand @ unity they can only update the prepacked GVR SDK pods folder.
    I've updated this pods folder manually to prevent having to update the pods everytime I build on a windows PC.

    Basically what you need to do is:
    - Build for iOS
    - in the root build folder there is a pods file
    - open the pods file and change 1.20 to 1.40
    - update the pods using cocoapods app
    - build the app using the xcodeworkspace not the xcodeproject

    GVR for iOS is pretty much buggy though

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.