0
votes

I am using Xcode 9, and I get this error. My project is a Unity 2017 project that I converted to xcode , and now I can't seem to bypass this error:

ld: file is universal (4 slices) but does not contain a(n) armv7s slice: /Users/mac/Desktop/MyProject/Frameworks/GoogleMobileAds.framework/GoogleMobileAds

file '/Users/mac/Desktop/MyProject/Frameworks/GoogleMobileAds.framework/GoogleMobileAds' for architecture armv7s

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

enter image description here

1

1 Answers

0
votes

There are 3 possible solutions:

  1. Try to update or find another revision of GoogleMobileAds plugin, which contains armv7s architecture. But may be it's impossible beacuse a lot of plugins removed support of armv7s. According to the iOS support matrix, it's used on iPhones older than 5s, which are not supported by Apple anymore. Older devices are 32-bit and starting from iPhone 5s all devices are 64-bit. For example Facebook has removed support of armv7s in 2015, so may be Google did this for GoogleMobileAds, so you don't be afraid to remove armv7s support from your project.
  2. Remove the support of this architecture in your xCode project, you can learn how do it here.
  3. You can remove armv7 support directly in your Unity project. Go to Player Settings -> iOS -> Architecture and change value from "Universal" to "ARM64".