使用具有pod依赖于Google Admob iOS SDK的静态库

时间:2014-04-06 09:37:50

标签: ios admob static-libraries cocoapods

我创建了一个静态库,其中包含我的util类(广告,日期,网络等)并调用了库UtilsLib。在UtilsLib podspec中,我依赖于某些库,如Admob(6.8.0),谷歌分析(3.0.3),Toast(2.2)等。这是UtilsLib podspec:

#
Pod::Spec.new do |s|
  s.name         = "UtilsLib"
  s.version      = "0.0.1"
  s.summary      = "Private static library for Ercans ios projects"

  s.description  = <<-DESC
                   A longer description of UtilsLib in Markdown format.

                   * BlockAlerts and ActionSheets
                   * GDataXML-HTML
                   * Admob
                   * Google Analytics
                   * MMDrawerController
                   * MMPickerView
                   * Reachability
                   * Toast
                   * UIDevice-Hardware
                   * ios-linechart
                   * objc-utils
                   DESC

  s.homepage     = "http://iosdeveloper61.blogspot.com.tr/"
  s.license      = "MIT (example)"
  s.author       = { "Ercan Celik" => "erceng@gmail.com" }
  s.platform     = :ios, "6.1"
  s.source_files  = "UtilsLib", "UtilsLib/**/*.{h,m}"
  s.public_header_files = "UtilsLib/**/*.h"
  s.requires_arc = true

  s.dependency 'UIDevice-Hardware', '~> 0.1.3'
  s.dependency 'Reachability', '~> 3.1.1'
  s.dependency 'BlockAlertsAnd-ActionSheets', '~> 1.0.6'
  s.dependency 'MMDrawerController', '~> 0.4.0'
  s.dependency 'MMPickerView', '~> 0.0.1'
  s.dependency 'ios-linechart', '~> 1.2.0'
  s.dependency 'Toast', '~> 2.2'
  s.dependency 'Google-Mobile-Ads-SDK'
  s.dependency 'GoogleAnalytics-iOS-SDK'

end

当我构建UtilsLib的工作区时,没有错误。然后我创建了一个项目,并在它的podfile中依赖于UtilsLib,如下所示:

platform :ios, "6.1"

pod 'UtilsLib', :path => '../../../UtilsLib'

我确信,UtilsLib的路径是正确的。当我构建新工作区时,它会给出以下错误:

Undefined symbols for architecture i386:
  "_CGSizeFromGADAdSize", referenced from:
      +[AdUtils showAdMobBanner:] in libPods.a(AdUtils.o)
  "_OBJC_CLASS_$_GADBannerView", referenced from:
      objc-class-ref in libPods.a(AdUtils.o)
  "_OBJC_CLASS_$_GADRequest", referenced from:
      objc-class-ref in libPods.a(AdUtils.o)
  "_OBJC_CLASS_$_GAI", referenced from:
      objc-class-ref in libPods.a(AdUtils.o)
  "_kGADAdSizeBanner", referenced from:
      +[AdUtils showAdMobBanner:] in libPods.a(AdUtils.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

AdUtils是UtilsLib中的一个使用google admob sdk的类。当我从UtilsLib中删除admob sdk和AdUtils类时,我的新项目中没有错误。

请帮助,我从昨天起找不到任何解决方案:(

0 个答案:

没有答案