我的应用程序的精简版使用了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,它已添加到目标精简版。
您的评论欢迎