Использование фреймворка (ios-charts) в проекте obj-c в xcode 8.2.1, ошибка компоновщика apple mach-o

я использую

danielgindi / Графики

Версия фреймворка: 3.0.1 в моем проекте obj-c.

Все другие фреймворки работают быстро (например, AFNetworking), но в этом фреймворке я получаю некоторые ошибки, например:

error: /Users/pooya/Library/Developer/Xcode/DerivedData/MY-Project/Build/Products/Debug-iphoneos/Charts.framework: No such file or directory

эта ошибка возникает, когда я пытаюсь собрать свой iPhone 7!

Но когда я пытаюсь запустить его на каком-нибудь 64-битном симуляторе (например, iPhone 6s), я получаю такую ​​ошибку:

ignoring file /Users/pooya/Library/Developer/Xcode/DerivedData/ZF_Vendor-cgqfmefljmubdqfloevghfslaasp/Build/Products/Debug-iphonesimulator/Charts.framework/Charts, file was built for i386 which is not the architecture being linked (x86_64): /Users/pooya/Library/Developer/Xcode/DerivedData/MyProject/Build/Products/Debug-iphonesimulator/Charts.framework/Charts
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$__TtC6Charts12BarChartData", referenced from:
      objc-class-ref in ChartsViewController.o
  "_OBJC_CLASS_$__TtC6Charts15BarChartDataSet", referenced from:
      objc-class-ref in ChartsViewController.o
  "_OBJC_CLASS_$__TtC6Charts17BarChartDataEntry", referenced from:
      objc-class-ref in ChartsViewController.o
  "_OBJC_CLASS_$_ChartDefaultValueFormatter", referenced from:
      objc-class-ref in ChartsViewController.o
  "_OBJC_CLASS_$_ChartDefaultAxisValueFormatter", referenced from:
      objc-class-ref in ChartsViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

но в iPhone 5 и других 32-битных симуляторах работает нормально: |

Я ищу три дня и не нахожу для этого хорошего помощника!

Я добавил этот фреймворк от cocapods с такой конфигурацией:

post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '3.0'
      end
   end
  end

person shaibow    schedule 25.02.2017    source источник
comment
Вы пробовали это решение?   -  person Kamil.S    schedule 25.02.2017
comment
@ Kamil.S да, но проблема была в улове xcode! фреймворк был в ловушке xcode с неправильной конфигурацией!   -  person shaibow    schedule 26.02.2017


Ответы (1)


Проблема заключалась в уловке Xcode!

Для этого фреймворка была сборка по умолчанию (это был i386), и после сборки Xcode ловит его для разработки файлов!

Попробуйте убрать командой + option + shift + k :)

И не забудьте установить SDK архитектуры для iOS для диаграмм в модулях в Xcode!

Нет необходимости добавлять бинарный фреймворк к вашей цели (как написано в github)

person shaibow    schedule 26.02.2017