首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新可可荚后出现架构错误的xcode重复符号

更新可可荚后出现架构错误的xcode重复符号
EN

Stack Overflow用户
提问于 2015-09-16 10:04:18
回答 6查看 10.8K关注 0票数 7

这是我的podFile

代码语言:javascript
复制
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'AFNetworking'
pod 'ODSAccordionView', '0.4.4'
pod 'IQKeyboardManager'
pod 'NYXImagesKit', :git => 'https://github.com/Nyx0uf/NYXImagesKit.git'
pod 'PEPhotoCropEditor'
pod 'CocoaAsyncSocket'
pod 'PKRevealController'
pod 'Haneke', '~> 1.0'
pod 'MBProgressHUD', '~> 0.9.1'
pod 'RadioButton'

每个人都工作了很长一段时间,但是现在,当我更新我的豆荚(pod update)时,这三个豆荚被提升了:

  • AFNetworking
  • CocoaAsyncSocket
  • IQKeyboardManager

在那之后,什么都没用了。

我收到了600多个duplicate symbols for architecture i386错误,比如:

代码语言:javascript
复制
duplicate symbol _OBJC_IVAR_$_AFHTTPRequestOperation._responseSerializer in:
/Users/myuser/Library/Developer/Xcode/DerivedData/MyProject-emjexnnjljambodthokzwpwcddhz/Build/Products/Debug-iphonesimulator/libPods-AFNetworking.a(AFHTTPRequestOperation.o)
/Users/myuser/Library/Developer/Xcode/DerivedData/MyProject-emjexnnjljambodthokzwpwcddhz/Build/Products/Debug-iphonesimulator/libAFNetworking.a(AFHTTPRequestOperation.o)
... (661 times the same error but pointing to different duplicated files)
ld: 661 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有什么想法吗?

编辑:在完成下面所示的解决方案后,我的项目只为iPad Air编译,我不能再编译Archive了,我仍然得到相同的错误.

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-09-16 10:11:18

我使用“手动重命名所有符号”的方法。我经历了重复的符号_OBJC_METACLASS_$_PodsDummy_Pods,所以我在Podfile中添加了post_install以避免重复的符号。

将pod文件内容替换为“手动重命名所有符号”

代码语言:javascript
复制
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'

post_install do |installer_representation|
    installer_representation.project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited), PodsDummy_Pods=SomeOtherNamePodsDummy_Pods'
        end
    end
end

pod 'AFNetworking'
pod 'ODSAccordionView', '0.4.4'
pod 'IQKeyboardManager'
pod 'NYXImagesKit', :git => 'https://github.com/Nyx0uf/NYXImagesKit.git'
pod 'PEPhotoCropEditor'
pod 'CocoaAsyncSocket'
pod 'PKRevealController'
pod 'Haneke', '~> 1.0'
pod 'MBProgressHUD', '~> 0.9.1'
pod 'RadioButton'

编辑:删除项目中的以下pod项目

1.Pods Folder

2.Podfile.lock

3.ProjectName.xcworkspace

然后再安装吊舱

此钩子允许在将生成的Xcode项目写入磁盘或执行任何其他任务之前对其进行任何最后的更改。

参考资料-

  1. https://developerinsider.co/cocoapods-remove-duplicate-symbols-errors/
  2. install
票数 12
EN

Stack Overflow用户

发布于 2016-02-25 08:56:50

即使在删除我的豆荚并重新安装它们之后,我也总是遇到同样的问题。

通过与另一个项目的比较,我终于找到了解决方案。该问题出现在项目的“其他链接标记”(OTHER_LDFLAGS)中的Build Settings中。这些吊舱不仅通过名称,而且通过添加前缀" pods -myProject“来引用。

代码语言:javascript
复制
"-l\"Pods-myProject-AMSlideMenu\"",
"-l\"Pods-myProject-CocoaLumberjack\"",
"-l\"Pods-myProject-DLAlertView\""

所以我把前缀去掉了,一切都是对的

代码语言:javascript
复制
"-l\"AMSlideMenu\"",
"-l\"CocoaLumberjack\"",
"-l\"DLAlertView\""
票数 6
EN

Stack Overflow用户

发布于 2016-05-11 15:50:11

我修正了一个类似的错误(在混乱的Cocoapods升级之后),方法是简单地移除,然后重新添加豆荚。备份项目,然后运行:

代码语言:javascript
复制
pod deintegrate
pod install
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32605504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档