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
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.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
trakloz
Oct 02, 2018 19:35
Still an issue in 2018.2.10
dgoodineyv
Jun 12, 2018 18:39
This is still an issue in 2018.1.
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.
Hogarth_BR
Oct 30, 2017 13:55
I'm also unable to open the xcode project in Unity 2017.2.0f3
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.
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 ?
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?
guneyozsan
Jun 06, 2017 14:05
I get the same linker erros with ".xcworkspace" on 2017.1.0b8. This should be reopened.
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.
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