合并lite版本,但报告错误'架构i386的未定义符号:" _OBJC_CLASS _ $ _ GADBannerView"'

时间:2015-12-15 07:09:27

标签: ios admob

我的应用程序的精简版使用了admob。 原版精简版和完整版都运行良好。 我尝试将lite版本和完整版本合并到同一个项目中作为不同的目标。 我使用常量_lite切换到精简版

// ConstDefine.h

#define _lite

ViewController1.h

#include "ConstDefine.h" 
#ifdef _lite

#import "GADBannerViewDelegate.h"

@class GADRequestError;
@class GADBannerView;

#endif
@interface ViewController1 : UIViewController <

 #ifdef _lite

GADBannerViewDelegate,

 #endif

..
>
#ifdef _lite

@property (nonatomic,retain)GADBannerView* admobView;

#endif



//...

}

ViewController1.m

#import "ViewController1.h"

#ifdef _lite
#import "GADBannerView.h"
#endif

#ifdef _lite
@synthesize admobView;
#endif

我还将AdSupport.framework StoreKit.framework添加到精简版目标。

但编译错误报告:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_GADBannerView", referenced from:
      objc-class-ref in ViewController1.o
  "_OBJC_CLASS_$_GADRequest", referenced from:
      objc-class-ref in ViewController1.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我检查了GoogleMobileAds.a,它已添加到目标精简版。

enter image description here

您的评论欢迎

0 个答案:

没有答案