Found multiple values for architectures build settings #1787

Closed
yqiang opened this Issue Feb 5, 2014 · 14 comments

Projects

None yet

10 participants

@yqiang
yqiang commented Feb 5, 2014

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.

@alloy
Member
alloy commented Feb 5, 2014

Good question, there shouldn’t be any reason for that afaik. Will you work on a patch?

@yqiang
yqiang commented Feb 5, 2014

@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'
    end
  end
end
@chebur
chebur commented Mar 11, 2014

The problem still exists. With the official release of the Xcode 5.1, projects having multiple architectures setting still requires the patch.

@bgerstle

👍 confirming the issue is still present and that the workaround seems to modify the Pods ARCHS build setting successfully.

@chebur
chebur commented Mar 11, 2014

Also, there is a $(ARCHS_STANDARD_32_BIT) configuration setting

@bgerstle

@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).

@chebur
chebur commented Mar 11, 2014

@btgerst it's very handy command. thanks

@yqiang yqiang assigned CocoaPodsBot and unassigned CocoaPodsBot Mar 29, 2014
@CocoaPodsBot

Issue has been confirmed by @neonichu

@CocoaPodsBot CocoaPodsBot was unassigned by yqiang Mar 29, 2014
@JingtingWang

@yqiang I added the post_install scripts to my project, however still got the same console spew, any idea?

@yqiang
yqiang commented May 21, 2014

@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 :)

@JingtingWang

@yqiang Thank you!

@peterjenkins

"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!

@claybridges

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.

@fabiopelosin
Member

This should have been fixed in the 0.34 pre-release: sudo gem install cocoapods --pre

@kylef kylef closed this Mar 30, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment