Xcode 5.1 includes arm64 in the ARCHS_STANDARD list. However, since our project isn't 64bit compatible yet, we've had to manually set the ARCHS variable on our targets to be armv7, armv7s. Now, each time we do a pod install, we get the following console spew from cocoapods:
[!] Found multiple values (`armv7`, `armv7s`) for the architectures (`ARCHS`)
build setting for the `Pods` target definition. Using the first.
Is there any reason cocoapods can not use multiple values for ARCHS? As of right now, each time we do a pod install I have to manually go in and fix all the targets in the Pods project.
Good question, there shouldn’t be any reason for that afaik. Will you work on a patch?
@alloy Sorry for the cop out, but I'm entirely unfamiliar with Ruby. It would probably be much faster for someone more knowledgable with the language and CocoaPods to fix this the right way.
For now, I've been able to work around it with the post_install hook that CocoaPods exposes. Posting it here in case other people run into the same issue:
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ARCHS'] = 'armv7 armv7s'
The problem still exists. With the official release of the Xcode 5.1, projects having multiple architectures setting still requires the patch.
👍 confirming the issue is still present and that the workaround seems to modify the Pods ARCHS build setting successfully.
Also, there is a $(ARCHS_STANDARD_32_BIT) configuration setting
@chebur I was just about to mention that. You can also run xcodebuild -scheme MyScheme -showBuildSettings | grep ARCHS to check that it expands to what you need (and see what other ARCHS variants there are).
xcodebuild -scheme MyScheme -showBuildSettings | grep ARCHS
@btgerst it's very handy command. thanks
Issue has been confirmed by @neonichu
@yqiang I added the post_install scripts to my project, however still got the same console spew, any idea?
@JingtingWang i wasn't able to get rid of the console spew but it's been working great for us so far, so we've ignored it for now :)
@yqiang Thank you!
"i wasn't able to get rid of the console spew but it's been working great for us so far, so we've ignored it for now :)"
Same here... Despite the warning appearing in the console, I can confirm it modified the ARCHS appropriately. @yqiang Thanks for the post_install script!
I'm still getting this warning message as of 0.33.1.
[!] Found multiple values (arm64,armv7,armv7s,x86_64) for the architectures (ARCHS) build setting for thePodstarget definition. Using the first.
[!] Found multiple values (
) for the architectures (
) build setting for the
target definition. Using the first.
This should have been fixed in the 0.34 pre-release: sudo gem install cocoapods --pre
sudo gem install cocoapods --pre