The default behavior of the Debug
build configuration is to only build the active architecture (Build Active Architecture Only
build setting is YES
). This is not the case for the Release
build configuration, which will build all architectures supported by your Valid Architectures
build setting. What this means is that you're likely not targeting an armv7s
device during your Debug
builds (iPhone 5, latest iPad, etc), so you're not attempting to build that architecture until you do an archive which uses the Release
build configuration by default.
The error indicates that your project is configured to create a binary that has armv7s
instructions for when it runs on devices of that type, but the GoogleMaps.framework
binary you're trying to link against was not built with an armv7s
slice. To fix this, you either have to update to the latest version of the GoogleMaps.framework
and hope they built it with armv7s
enabled, or remove armv7s
from your Valid Architectures
build setting (obviously the former is preferable).