updaed for iOS6

This commit is contained in:
Michael Nguyen
2013-10-28 15:20:35 -07:00
parent 4eb1fd35e0
commit 84ca7457b5
86 changed files with 304 additions and 14535 deletions

View File

@@ -39,10 +39,10 @@
#define MAX_CHANNEL 128
enum {
JGE_ERR_CANT_OPEN_FILE = -1,
JGE_ERR_PNG = -2,
JGE_ERR_MALLOC_FAILED = -4,
JGE_ERR_GENERIC = -5,
JGE_ERR_CANT_OPEN_FILE = -1,
JGE_ERR_PNG = -2,
JGE_ERR_MALLOC_FAILED = -4,
JGE_ERR_GENERIC = -5,
};
#ifdef PSP
@@ -80,20 +80,20 @@ enum {
// #define BLEND_OPTION_ADD BLEND_COLORADD
// #define BLEND_OPTION_BLEND (BLEND_COLORADD | BLEND_ALPHABLEND | BLEND_NOZWRITE)
#else
#define DEFAULT_BLEND GU_TFX_MODULATE
#define BLEND_OPTION_ADD GU_TFX_ADD
#define BLEND_OPTION_BLEND GU_TFX_BLEND
#define DEFAULT_BLEND GU_TFX_MODULATE
#define BLEND_OPTION_ADD GU_TFX_ADD
#define BLEND_OPTION_BLEND GU_TFX_BLEND
#endif
#if (defined WIN32) && (!defined LINUX)
#include <windows.h>
#include <windows.h>
#endif
#if defined(LINUX) && (!defined WIN32) || defined(IOS) || defined (ANDROID)
typedef uint8_t byte;
typedef uint32_t DWORD;
typedef uint8_t BYTE;
typedef uint8_t byte;
typedef uint32_t DWORD;
typedef uint8_t BYTE;
#ifndef IOS
typedef bool BOOL;
typedef bool BOOL;
#endif
#endif
@@ -101,16 +101,16 @@ enum {
#ifndef QT_CONFIG
#if defined (IOS)
#import <OpenGLES/ES2/gl.h>
#import <OpenGLES/ES2/glext.h>
#import <OpenGLES/ES1/gl.h>
# import <OpenGLES/ES1/glext.h>
#import <OpenGLES/ES2/gl.h>
#import <OpenGLES/ES2/glext.h>
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
#elif defined (ANDROID)
#include <GLES/gl.h>
#include <GLES/glext.h>
#elif defined (WIN32) || defined (LINUX)
#include <GL/gl.h>
#include <GL/glu.h>
#include <GLES/gl.h>
#include <GLES/glext.h>
#elif defined (WIN32) || defined (LINUX)
#include <GL/gl.h>
#include <GL/glu.h>
#endif
#else
# include <QtOpenGL>
@@ -128,90 +128,90 @@ enum {
#if defined (PSP)
#ifndef ABGR8888
#define ABGR8888
#endif
#ifndef ABGR8888
#define ABGR8888
#endif
#if defined (ABGR8888)
#define PIXEL_TYPE u32
#ifndef ARGB
#define ARGB(a, r, g, b) (PIXEL_TYPE)((a << 24) | (b << 16) | (g << 8) | r) // macro to assemble pixels in correct format
#endif
#define MAKE_COLOR(a, c) (a << 24 | c)
#define MASK_ALPHA 0xFF000000 // masks for accessing individual pixels
#define MASK_BLUE 0x00FF0000
#define MASK_GREEN 0x0000FF00
#define MASK_RED 0x000000FF
#if defined (ABGR8888)
#define PIXEL_TYPE u32
#ifndef ARGB
#define ARGB(a, r, g, b) (PIXEL_TYPE)((a << 24) | (b << 16) | (g << 8) | r) // macro to assemble pixels in correct format
#endif
#define MAKE_COLOR(a, c) (a << 24 | c)
#define MASK_ALPHA 0xFF000000 // masks for accessing individual pixels
#define MASK_BLUE 0x00FF0000
#define MASK_GREEN 0x0000FF00
#define MASK_RED 0x000000FF
#define PIXEL_SIZE 4
#define PIXEL_FORMAT PSP_DISPLAY_PIXEL_FORMAT_8888
#define PIXEL_SIZE 4
#define PIXEL_FORMAT PSP_DISPLAY_PIXEL_FORMAT_8888
#define BUFFER_FORMAT GU_PSM_8888
#define TEXTURE_FORMAT GU_PSM_8888
#define TEXTURE_COLOR_FORMAT GU_COLOR_8888
#define BUFFER_FORMAT GU_PSM_8888
#define TEXTURE_FORMAT GU_PSM_8888
#define TEXTURE_COLOR_FORMAT GU_COLOR_8888
#elif defined (ABGR5551)
#elif defined (ABGR5551)
#ifndef ARGB
#define ARGB(a, r, g, b) ((r >> 3) | ((g >> 3) << 5) | ((b >> 3) << 10) | ((a >> 7) << 15))
#endif
#define MAKE_COLOR(a, c) (((a>>7)<<15) | c)
#define MASK_ALPHA 0x8000
#define MASK_BLUE 0x7C00
#define MASK_GREEN 0x03E0
#define MASK_RED 0x001F
#define PIXEL_TYPE u16
#define PIXEL_SIZE 2
#define PIXEL_FORMAT PSP_DISPLAY_PIXEL_FORMAT_5551
#ifndef ARGB
#define ARGB(a, r, g, b) ((r >> 3) | ((g >> 3) << 5) | ((b >> 3) << 10) | ((a >> 7) << 15))
#endif
#define MAKE_COLOR(a, c) (((a>>7)<<15) | c)
#define MASK_ALPHA 0x8000
#define MASK_BLUE 0x7C00
#define MASK_GREEN 0x03E0
#define MASK_RED 0x001F
#define PIXEL_TYPE u16
#define PIXEL_SIZE 2
#define PIXEL_FORMAT PSP_DISPLAY_PIXEL_FORMAT_5551
#define BUFFER_FORMAT GU_PSM_8888
#define TEXTURE_FORMAT GU_PSM_5551
#define TEXTURE_COLOR_FORMAT GU_COLOR_5551
#define BUFFER_FORMAT GU_PSM_8888
#define TEXTURE_FORMAT GU_PSM_5551
#define TEXTURE_COLOR_FORMAT GU_COLOR_5551
#elif defined (ABGR4444)
#ifndef ARGB
#define ARGB(a, r, g, b) ((r >> 4) | ((g >> 4) << 4) | ((b >> 4) << 8) | ((a >> 4) << 12))
#endif
#define MAKE_COLOR(a, c) (((a>>4)<<12) | c)
#define MASK_ALPHA 0xF000
#define MASK_BLUE 0x0F00
#define MASK_GREEN 0x00F0
#define MASK_RED 0x000F
#define PIXEL_TYPE u16
#define PIXEL_SIZE 2
#define PIXEL_FORMAT PSP_DISPLAY_PIXEL_FORMAT_4444
#elif defined (ABGR4444)
#ifndef ARGB
#define ARGB(a, r, g, b) ((r >> 4) | ((g >> 4) << 4) | ((b >> 4) << 8) | ((a >> 4) << 12))
#endif
#define MAKE_COLOR(a, c) (((a>>4)<<12) | c)
#define MASK_ALPHA 0xF000
#define MASK_BLUE 0x0F00
#define MASK_GREEN 0x00F0
#define MASK_RED 0x000F
#define PIXEL_TYPE u16
#define PIXEL_SIZE 2
#define PIXEL_FORMAT PSP_DISPLAY_PIXEL_FORMAT_4444
#define BUFFER_FORMAT GU_PSM_4444
#define TEXTURE_FORMAT GU_PSM_4444
#define TEXTURE_COLOR_FORMAT GU_COLOR_4444
#define BUFFER_FORMAT GU_PSM_4444
#define TEXTURE_FORMAT GU_PSM_4444
#define TEXTURE_COLOR_FORMAT GU_COLOR_4444
#endif
#endif
#define FRAME_BUFFER_WIDTH 512
#define FRAME_BUFFER_SIZE FRAME_BUFFER_WIDTH*SCREEN_HEIGHT*PIXEL_SIZE
#define FRAME_BUFFER_WIDTH 512
#define FRAME_BUFFER_SIZE FRAME_BUFFER_WIDTH*SCREEN_HEIGHT*PIXEL_SIZE
#define SLICE_SIZE_F 64.0f
typedef unsigned int DWORD;
#define SLICE_SIZE_F 64.0f
typedef unsigned int DWORD;
#define BLEND_ZERO 0x1000
#define BLEND_ONE 0x1002
#define BLEND_SRC_COLOR GU_SRC_COLOR
#define BLEND_ONE_MINUS_SRC_COLOR GU_ONE_MINUS_SRC_COLOR
#define BLEND_SRC_ALPHA GU_SRC_ALPHA
#define BLEND_ONE_MINUS_SRC_ALPHA GU_ONE_MINUS_SRC_ALPHA
#define BLEND_DST_ALPHA GU_DST_ALPHA
#define BLEND_ONE_MINUS_DST_ALPHA GU_ONE_MINUS_DST_ALPHA
#define BLEND_DST_COLOR GU_DST_COLOR
#define BLEND_ONE_MINUS_DST_COLOR GU_ONE_MINUS_DST_COLOR
#define BLEND_SRC_ALPHA_SATURATE BLEND_ONE
#define BLEND_ZERO 0x1000
#define BLEND_ONE 0x1002
#define BLEND_SRC_COLOR GU_SRC_COLOR
#define BLEND_ONE_MINUS_SRC_COLOR GU_ONE_MINUS_SRC_COLOR
#define BLEND_SRC_ALPHA GU_SRC_ALPHA
#define BLEND_ONE_MINUS_SRC_ALPHA GU_ONE_MINUS_SRC_ALPHA
#define BLEND_DST_ALPHA GU_DST_ALPHA
#define BLEND_ONE_MINUS_DST_ALPHA GU_ONE_MINUS_DST_ALPHA
#define BLEND_DST_COLOR GU_DST_COLOR
#define BLEND_ONE_MINUS_DST_COLOR GU_ONE_MINUS_DST_COLOR
#define BLEND_SRC_ALPHA_SATURATE BLEND_ONE
typedef struct
{
ScePspFVector2 texture;
ScePspFVector3 pos;
} PSPVertex3D;
typedef struct
{
ScePspFVector2 texture;
ScePspFVector3 pos;
} PSPVertex3D;
#else //non PSP
@@ -223,34 +223,34 @@ typedef uint16_t u16;
typedef uint32_t u32;
#define BLEND_ZERO GL_ZERO
#define BLEND_ONE GL_ONE
#define BLEND_SRC_COLOR GL_SRC_COLOR
#define BLEND_ONE_MINUS_SRC_COLOR GL_ONE_MINUS_SRC_COLOR
#define BLEND_SRC_ALPHA GL_SRC_ALPHA
#define BLEND_ONE_MINUS_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
#define BLEND_DST_ALPHA GL_DST_ALPHA
#define BLEND_ONE_MINUS_DST_ALPHA GL_ONE_MINUS_DST_ALPHA
#define BLEND_DST_COLOR GL_DST_COLOR
#define BLEND_ONE_MINUS_DST_COLOR GL_ONE_MINUS_DST_COLOR
#define BLEND_SRC_ALPHA_SATURATE GL_SRC_ALPHA_SATURATE
#define BLEND_ZERO GL_ZERO
#define BLEND_ONE GL_ONE
#define BLEND_SRC_COLOR GL_SRC_COLOR
#define BLEND_ONE_MINUS_SRC_COLOR GL_ONE_MINUS_SRC_COLOR
#define BLEND_SRC_ALPHA GL_SRC_ALPHA
#define BLEND_ONE_MINUS_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
#define BLEND_DST_ALPHA GL_DST_ALPHA
#define BLEND_ONE_MINUS_DST_ALPHA GL_ONE_MINUS_DST_ALPHA
#define BLEND_DST_COLOR GL_DST_COLOR
#define BLEND_ONE_MINUS_DST_COLOR GL_ONE_MINUS_DST_COLOR
#define BLEND_SRC_ALPHA_SATURATE GL_SRC_ALPHA_SATURATE
#define ARGB(a, r, g, b) ((PIXEL_TYPE)((a) << 24) | ((r) << 16) | ((g) << 8) | (b))
#define RGBA(r, g, b, a) ((PIXEL_TYPE)((a) << 24) | ((b) << 16) | ((g) << 8) | (r))
#define ARGB(a, r, g, b) ((PIXEL_TYPE)((a) << 24) | ((r) << 16) | ((g) << 8) | (b))
#define RGBA(r, g, b, a) ((PIXEL_TYPE)((a) << 24) | ((b) << 16) | ((g) << 8) | (r))
#define TEXTURE_FORMAT 0
#define GU_PSM_8888 0
#define GU_PSM_5551 0
#define GU_PSM_4444 0
#define GU_PSM_5650 0
#define PIXEL_TYPE DWORD
#define TEXTURE_FORMAT 0
#define GU_PSM_8888 0
#define GU_PSM_5551 0
#define GU_PSM_4444 0
#define GU_PSM_5650 0
#define PIXEL_TYPE DWORD
#endif
typedef enum Buttons
{
{
JGE_BTN_NONE = 0, // No button pressed
JGE_BTN_QUIT, // Home on PSP
JGE_BTN_MENU, // Start on PSP
@@ -270,7 +270,7 @@ typedef enum Buttons
JGE_BTN_FULLSCREEN, // Switch to fullscreen (obviously, PC only)
JGE_BTN_MAX = JGE_BTN_FULLSCREEN + 1
} JButton;
} JButton;
@@ -357,7 +357,7 @@ public:
int mFilter;
#if defined (PSP)
#if defined (PSP)
int mTextureFormat;
int mTexId;
bool mInVideoRAM;

View File

@@ -1,6 +1,5 @@
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import "AdWhirlDelegateProtocol.h"
#import "EAGLViewController.h"
#import "EAGLView.h"
#import "ESRenderer.h"
@@ -8,9 +7,8 @@
// This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass.
// The view content is basically an EAGL surface you render your OpenGL scene into.
// Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel.
@interface EAGLView : UIView<AdWhirlDelegate,UIGestureRecognizerDelegate>
@interface EAGLView : UIView<UIGestureRecognizerDelegate>
{
AdWhirlView *adView;
//This is a trick, AdMob uses a viewController to display its Ads, trust me, you'll need this
EAGLViewController *viewController;
@@ -27,7 +25,6 @@
id displayLink;
CGPoint currentLocation;
}
@property (nonatomic, retain) AdWhirlView *adView;
@property (readonly, nonatomic, getter=isAnimating) BOOL animating;
@property (nonatomic) NSInteger animationFrameInterval;
@property (nonatomic, readwrite) CGPoint currentLocation;
@@ -37,8 +34,6 @@
- (void)drawView:(id)sender;
- (void)updateKeyboard: (NSString *) inputString;
- (void)removeAds;
- (void)displayAds;
- (void)destroyGame;

View File

@@ -12,7 +12,6 @@
#include "GameApp.h"
#import "AdWhirlView.h"
#import "wagicAppDelegate.h"
@@ -67,15 +66,10 @@ void DestroyGame(void)
}
#pragma mark Ad management constants
static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPHONE = @"b86aba511597401ca6b41c1626aa3013";
static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPAD = @"2e70e3f3da40408588b9a3170c8d268f";
#pragma mark -
@implementation EAGLView
@synthesize adView;
@synthesize animating;
@dynamic animationFrameInterval;
@synthesize currentLocation;
@@ -91,7 +85,6 @@ static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPAD = @"2e70e3f3da40408588b9a3170
- (void)dealloc
{
[renderer release];
[self removeAds];
[super dealloc];
}
@@ -635,30 +628,6 @@ static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPAD = @"2e70e3f3da40408588b9a3170
}
//These are the methods for the AdWhirl Delegate, you have to implement them
#pragma mark AdWhirlDelegate methods
- (void)adWhirlWillPresentFullScreenModal {
//It's recommended to invoke whatever you're using as a "Pause Menu" so your
//game won't keep running while the user is "playing" with the Ad (for example, iAds)
[self pauseGame];
}
- (void)adWhirlDidDismissFullScreenModal {
//Once the user closes the Ad he'll want to return to the game and continue where
//he left it
[self resumeGame];
}
- (NSString *)adWhirlApplicationKey {
if ((UI_USER_INTERFACE_IDIOM()) == UIUserInterfaceIdiomPad)
return _MY_AD_WHIRL_APPLICATION_KEY_IPAD;
return _MY_AD_WHIRL_APPLICATION_KEY_IPHONE;
}
- (UIViewController *)viewControllerForPresentingModalView {
//Remember that UIViewController we created in the Game.h file? AdMob will use it.
//If you want to use "return self;" instead, AdMob will cancel the Ad requests.
@@ -666,101 +635,5 @@ static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPAD = @"2e70e3f3da40408588b9a3170
}
- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView {
[UIView beginAnimations:@"AdWhirlDelegate.adWhirlDidReceiveAd:"
context:nil];
BOOL isLandscape = UIDeviceOrientationIsLandscape( [UIDevice currentDevice].orientation);
[UIView setAnimationDuration:0.7];
CGSize adSize = [adWhirlView actualAdSize];
CGRect newFrame = [adWhirlView frame];
CGSize screenSize = [self.window bounds].size;
newFrame.size = adSize;
// ads are 320 x 50
newFrame.origin.x = ( (isLandscape ? screenSize.height : screenSize.width) - adSize.width)/ 2;
newFrame.origin.y = ( (isLandscape ? screenSize.width : screenSize.height) - 50);
[adWhirlView setFrame: newFrame];
[UIView commitAnimations];
}
-(void)adWhirlDidFailToReceiveAd:(AdWhirlView *)adWhirlView usingBackup:(BOOL)yesOrNo {
//The code to show my own Ad banner again
NSLog(@"failed to get an Ad");
}
-(void) removeAds {
//There's something weird about AdWhirl because setting the adView delegate
//to "nil" doesn't stops the Ad requests and also it doesn't remove the adView
//from superView; do the following to remove AdWhirl from your scene.
//
//If adView exists, remove everything
if (adView) {
//Remove adView from superView
[adView removeFromSuperview];
//Replace adView's view with "nil"
[adView replaceBannerViewWith:nil];
//Tell AdWhirl to stop requesting Ads
[adView ignoreNewAdRequests];
//Set adView delegate to "nil"
[adView setDelegate:nil];
//Release adView
[adView release];
//set adView to "nil"
adView = nil;
}
}
-(void) displayAds
{
BOOL isLandscape = UIDeviceOrientationIsLandscape( [UIDevice currentDevice].orientation);
//Assign the AdWhirl Delegate to our adView
if ( adView != nil )
[self removeAds];
//Let's allocate the viewController (it's the same RootViewController as declared
//in our AppDelegate; will be used for the Ads)
viewController = [(wagicAppDelegate *)[[UIApplication sharedApplication] delegate] glViewController];
self.adView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
//Set auto-resizing mask
self.adView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
//This isn't really needed but also it makes no harm. It just retrieves the configuration
//from adwhirl.com so it knows what Ad networks to use
[adView updateAdWhirlConfig];
//Get the actual size for the requested Ad
CGSize adSize = [adView actualAdSize];
//
//Set the position; remember that we are using 4 values (in this order): X, Y, Width, Height
//You can comment this line if your game is in portrait mode and you want your Ad on the top
//if you want the Ad in other position (portrait or landscape), use the following code,
//for this example, the Ad will be positioned in the bottom+center of the screen
//(in landscape mode):
//Same explanation as the one in the method "adjustAdSize" for the Ad's width
int screenWidth = [viewController.parentViewController.view bounds].size.width;
float yOffset = [viewController.parentViewController.view bounds].size.height - adSize.height;
if ( isLandscape )
{
screenWidth = [viewController.parentViewController.view bounds].size.height;
yOffset = screenWidth - adSize.height;
}
self.adView.frame = CGRectMake((screenWidth - adSize.width) / 2, yOffset, adSize.width, adSize.height);
//Trying to keep everything inside the Ad bounds
self.adView.clipsToBounds = YES;
//Adding the adView (used for our Ads) to our viewController
[viewController.view addSubview:adView];
//Bring our view to front
[viewController.view bringSubviewToFront:adView];
}
@end

View File

@@ -1,5 +1,4 @@
#import <UIKit/UIKit.h>
#import "AdWhirlDelegateProtocol.h"
@interface EAGLViewController : UIViewController<UITextFieldDelegate> {

View File

@@ -25,10 +25,13 @@
[inputField setAutocapitalizationType:UITextAutocapitalizationTypeNone];
[inputField setAutocorrectionType:UITextAutocorrectionTypeNo];
[inputField setKeyboardType: UIKeyboardTypeNamePhonePad];
CGRect frame = [[UIScreen mainScreen] applicationFrame];
eaglView = [[EAGLView alloc] initWithFrame:frame];
[self setView: eaglView];
[self.view addSubview: inputField];
[inputField release];
}
return self;
@@ -50,7 +53,7 @@
- (void)viewWillAppear:(BOOL)animated {
NSLog(@"EAGL ViewController - view Will Appear");
[self.view resumeGame];
[self.view resumeGame];
}
@@ -75,14 +78,14 @@
}
- (void)viewDidAppear:(BOOL)animated {
NSLog(@"EAGL ViewController - view Did Appear");
UIDeviceOrientation currentDeviceOrientation = [UIDevice currentDevice].orientation;
UIInterfaceOrientation currentInterfaceOrientation = self.interfaceOrientation;
NSLog(@"Current Interface: %@. Current Device: %@",
[self interfaceOrientationName:currentInterfaceOrientation],
NSLog(@"Current Interface: %@. Current Device: %@",
[self interfaceOrientationName:currentInterfaceOrientation],
[self deviceOrientationName:currentDeviceOrientation]);
}
@@ -91,7 +94,7 @@
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc. that aren't in use.
}
@@ -103,6 +106,25 @@
}
#pragma mark - device orientation handlers
- (NSUInteger)supportedInterfaceOrientations
{
//I want to support portrait in ABCView at iPhone only.
//and support all orientation in other views and iPad.
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone)
{
return UIInterfaceOrientationMaskLandscape;
}
//support all
return UIInterfaceOrientationMaskAll;
}
-(BOOL)shouldAutorotate {
return YES;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Overriden to allow any orientation.
@@ -110,23 +132,23 @@
if ( isSmallScreen && UIInterfaceOrientationIsPortrait(interfaceOrientation))
return NO;
return YES;
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[[eaglView adView] rotateToOrientation: toInterfaceOrientation];
// [[eaglView adView] rotateToOrientation: toInterfaceOrientation];
}
#pragma mark -
#pragma mark Orientation Information
- (NSString*)interfaceOrientationName:(UIInterfaceOrientation) interfaceOrientation {
NSString* result = nil;
switch (interfaceOrientation) {
case UIInterfaceOrientationPortrait:
result = @"Portrait";
break;
@@ -142,16 +164,16 @@
default:
result = @"Unknown Interface Orientation";
}
return result;
};
- (NSString*)deviceOrientationName:(UIDeviceOrientation) deviceOrientation {
NSString* result = nil;
switch (deviceOrientation) {
case UIDeviceOrientationUnknown:
result = @"Unknown";
break;
@@ -176,7 +198,7 @@
default:
result = @"Unknown Device Orientation";
}
return result;
};
@@ -205,7 +227,7 @@
[eaglView updateKeyboard: @"CLEAR"];
else
[eaglView updateKeyboard: string];
return YES;
}
@@ -215,7 +237,7 @@
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField
- (BOOL) textFieldShouldReturn:(UITextField *)textField
{
[eaglView updateKeyboard: @"SAVE"];
[textField resignFirstResponder];

View File

@@ -33,7 +33,7 @@ bool checkFramebufferStatus();
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if ( context == nil)
context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES1];
if (!context || ![EAGLContext setCurrentContext:context])
{
[self release];
@@ -46,20 +46,29 @@ bool checkFramebufferStatus();
- (void)render
{
// NSLog(@"Renderer - render");
struct timeval tv;
uint dt;
// This application only creates a single context which is already set current at this point.
// This call is redundant, but needed if dealing with multiple contexts.
[EAGLContext setCurrentContext:context];
// This application only creates a single default framebuffer which is already bound at this point.
// This call is redundant, but needed if dealing with multiple framebuffers.
glBindFramebuffer(GL_FRAMEBUFFER, defaultFramebuffer);
GLfloat currentRatio = (GLfloat) backingWidth / (GLfloat) backingHeight;
if ((GLfloat)backingWidth / (GLfloat)backingHeight < ACTUAL_RATIO)
// for retina devices. because of the 568 px, the ratio between height-width skews the
// frame a bit
if ( backingHeight == 568 || backingWidth == 568) {
viewPort.left = 0;
viewPort.top = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2 + 22; // account for status bar
viewPort.right = backingWidth;
viewPort.bottom = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2 + backingWidth / ACTUAL_RATIO - 22;
}
else if (currentRatio < ACTUAL_RATIO)
{
viewPort.left = 0;
viewPort.top = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2;
@@ -73,21 +82,21 @@ bool checkFramebufferStatus();
viewPort.right = backingHeight * ACTUAL_RATIO;
viewPort.bottom = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2 + backingWidth / ACTUAL_RATIO + backingHeight;
}
glViewport(viewPort.left, viewPort.top, viewPort.right-viewPort.left, viewPort.bottom-viewPort.top);
JRenderer::GetInstance()->SetActualWidth(viewPort.right-viewPort.left);
JRenderer::GetInstance()->SetActualHeight(viewPort.bottom-viewPort.top);
gettimeofday(&tv, NULL);
uint64_t tickCount = tv.tv_sec * 1000 + tv.tv_usec / 1000;
dt = (tickCount - lastTickCount);
lastTickCount = tickCount;
g_engine->SetDelta((float)dt / 1000.0f);
g_engine->Update((float)dt / 1000.0f);
g_engine->Render();
// This application only creates a single color renderbuffer which is already bound at this point.
@@ -103,18 +112,18 @@ bool checkFramebufferStatus();
glDeleteFramebuffers(1, &defaultFramebuffer);
defaultFramebuffer = 0;
}
if(colorRenderbuffer) {
glDeleteRenderbuffers(1, &colorRenderbuffer);
colorRenderbuffer = 0;
}
glGenFramebuffers(1, &defaultFramebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, defaultFramebuffer);
glGenRenderbuffers(1, &colorRenderbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer);
// Allocate color buffer backing based on the current layer size
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer);
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer];
@@ -127,41 +136,41 @@ bool checkFramebufferStatus();
glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE); // do not calculate inside of poly's
glFrontFace(GL_CCW);
glFrontFace(GL_CCW);
glEnable (GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// glEnable(GL_SCISSOR_TEST); // Enable Clipping
// glEnable(GL_SCISSOR_TEST); // Enable Clipping
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background (yes that's the way fuckers)
glClearDepthf(1.0f); // Depth Buffer Setup
return YES;
}
bool checkFramebufferStatus() {
GLenum status = (GLenum)glCheckFramebufferStatus(GL_FRAMEBUFFER);
switch(status) {
case GL_FRAMEBUFFER_COMPLETE:
return true;
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
printf("Framebuffer incomplete,incomplete attachment\n");
return false;
case GL_FRAMEBUFFER_UNSUPPORTED:
printf("Unsupported framebuffer format\n");
return false;
case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
printf("Framebuffer incomplete,missing attachment\n");
return false;
}
return false;
}
@@ -187,7 +196,7 @@ bool checkFramebufferStatus() {
[context release];
context = nil;
[super dealloc];
}

View File

@@ -17,7 +17,7 @@
- (void) updateComplete: (id) notificationMsg
{
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc removeObserver: self name: @"coreComplete" object: nil];
[dnc removeObserver: self name: @"iosConfigComplete" object: nil];
[dnc postNotificationName: @"initializeGame" object: self];
@@ -34,12 +34,12 @@
- (void) downloadResources
{
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc addObserver:self selector:@selector(initIosUpdate:) name:@"coreComplete" object: nil];
wagicDownloadController = [[WagicDownloadProgressViewController alloc] init];
[wagicDownloadController performSelectorInBackground: @selector(startDownload:) withObject:@"core"];
[self.window addSubview: wagicDownloadController.view];
[self.window makeKeyWindow];
@@ -51,16 +51,16 @@
NSString *pathPrefix = nil;
if ( pathNamePrefix == nil ) // default to User
pathPrefix = @"User";
else
else
pathPrefix = pathNamePrefix;
NSError *error = nil;
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *userDocumentsDirectory = [paths objectAtIndex:0];
NSString *downloadFilePath = [userDocumentsDirectory stringByAppendingString: [NSString stringWithFormat: @"/%@/%@.zip", pathPrefix, folderName]];
ZipArchive *za = [[ZipArchive alloc] init];
if ([za UnzipOpenFile: downloadFilePath])
{
@@ -73,7 +73,7 @@
NSLog(@"An Error occurred while unpacking zip file.");
}
[za UnzipCloseFile];
if (ret == YES)
{
// delete the archive
@@ -85,7 +85,7 @@
}
}
[za release], za = nil;
}
@@ -98,15 +98,15 @@
{
NSString *pathname = [NSString stringWithFormat: @"%@/%@", path, filename];
[data appendFormat: @"%@\n", pathname];
BOOL isDirectory = [[fileManager attributesOfItemAtPath: pathname error: nil] objectForKey: NSFileType] == NSFileTypeDirectory;
if (isDirectory)
[data appendString: [self getDirContents: pathname]];
}
NSString *manifestList = [data stringByAppendingFormat: @"\n"];
[data release];
return manifestList;
}
@@ -114,37 +114,37 @@
{
NSString *manifestFile = [docsPath stringByAppendingPathComponent:@"Manifest"];
[[self getDirContents: docsPath] writeToFile:manifestFile atomically:YES encoding:NSUTF8StringEncoding error: nil];
}
/**
check for any zip files dropped into the documents directory before loading the game.
If so, move the "core" files into the "Res" directory and move all other zip files into the "User" directory.
check for any zip files dropped into the documents directory before loading the game.
If so, move the "core" files into the "Res" directory and move all other zip files into the "User" directory.
Check for a "core" zip file in the Res directory. If it exists, then return YES. Otherwise, return NO.
*/
- (void) initializeResources
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex: 0];
NSArray *docsPathContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: docsPath error:nil];
NSString *versionPredicate = [NSString stringWithFormat: @"(self BEGINSWITH '%@')", [NSString stringWithCString: WAGIC_CORE_VERSION_STRING encoding:NSUTF8StringEncoding]];
NSCompoundPredicate *compoundPredicate = [[NSCompoundPredicate alloc] initWithType:NSAndPredicateType subpredicates: [NSArray arrayWithObjects: [NSPredicate predicateWithFormat:@"self ENDSWITH '.zip'"], [NSPredicate predicateWithFormat: [NSString stringWithFormat: @" NOT ( %@ ) ", versionPredicate]], nil]];
NSArray *coreFiles = [docsPathContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat: versionPredicate]];
NSArray *resourceZipFiles = [docsPathContents filteredArrayUsingPredicate: compoundPredicate];
NSString *userPath = [NSString stringWithFormat: @"%@/User", docsPath];
NSString *resPath = [NSString stringWithFormat: @"%@/Res", docsPath];
NSError *error = nil;
[compoundPredicate release], compoundPredicate = nil;
if ( ([resourceZipFiles count] > 0 ) && ![fileManager fileExistsAtPath: userPath] )
[fileManager createDirectoryAtPath: userPath withIntermediateDirectories: YES attributes:nil error:nil ];
for (NSString *zipFile in resourceZipFiles)
{
NSString *oldPath = [NSString stringWithFormat: @"%@/%@", docsPath, zipFile];
@@ -155,7 +155,7 @@
[fileManager removeItemAtPath: newPath error: &error];
}
error = nil;
[fileManager moveItemAtPath: oldPath toPath:newPath error: &error];
NSLog(@"Moving %@ to %@", oldPath, newPath);
if ( error != nil )
@@ -175,7 +175,7 @@
[fileManager removeItemAtPath: newPath error: &error];
}
error = nil;
[fileManager moveItemAtPath: oldPath toPath:newPath error: &error];
NSLog(@"Moving %@ to %@", oldPath, newPath);
if ( error != nil )
@@ -187,21 +187,21 @@
}
- (BOOL) hasResourceFiles
{
{
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex: 0];
NSString *resPath = [NSString stringWithFormat: @"%@/Res", docsPath];
NSArray *resDirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: resPath error:nil];
NSString *versionPredicate = [NSString stringWithFormat: @"(self BEGINSWITH '%@')", [NSString stringWithCString: WAGIC_CORE_VERSION_STRING encoding:NSUTF8StringEncoding]];
NSArray *coreFiles = [resDirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat: versionPredicate]];
if ([coreFiles count] >= 2)
{
return YES;
}
return NO;
}
@@ -211,30 +211,30 @@
NSString *docsPath = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0];
NSFileManager *fm = [NSFileManager defaultManager];
NSString *userPath = [docsPath stringByAppendingString: @"/User"];
NSArray *userDirectories = [fm contentsOfDirectoryAtPath: userPath error: nil];
for (NSString *userFilename in userDirectories)
{
NSString *userPathname = [userPath stringByAppendingFormat: @"/%@", userFilename];
NSString *zipFileName = [userPathname stringByAppendingString: @".zip"];
if ([[fm attributesOfItemAtPath: userPathname error: nil] objectForKey: NSFileType] == NSFileTypeDirectory && ([fm fileExistsAtPath:zipFileName]))
{
[self unpackageResources: userFilename pathPrefixName: @"User"];
[fm removeItemAtPath: zipFileName error: nil];
}
else if ( [userFilename hasPrefix: @"ai_decks"] ) // special case to allow manual override of AI decks in User directory
{
[self unpackageResources: @"ai_decks" pathPrefixName: @"User/ai/baka"];
}
}
// scan for deck*.txt and collection.dat as well as options.txt in the Documents directory and copy them into the player directory
NSArray *playerDataFilePredicates = [NSArray arrayWithObjects:
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'deck' AND SELF ENDSWITH '.txt'"],
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'options' AND SELF ENDSWITH '.txt'"],
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'tasks' AND SELF ENDSWITH '.dat'"],
NSArray *playerDataFilePredicates = [NSArray arrayWithObjects:
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'deck' AND SELF ENDSWITH '.txt'"],
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'options' AND SELF ENDSWITH '.txt'"],
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'tasks' AND SELF ENDSWITH '.dat'"],
[NSPredicate predicateWithFormat: @"SELF BEGINSWITH[cd] 'collection' AND SELF ENDSWITH '.dat'"], nil];
NSCompoundPredicate *playerDataPredicate = [[NSCompoundPredicate alloc] initWithType:NSOrPredicateType subpredicates: playerDataFilePredicates];
@@ -246,23 +246,23 @@
NSString *toPath = [docsPath stringByAppendingFormat: @"/User/player/%@", [file lowercaseString]];
[fm moveItemAtPath: fromPath toPath: toPath error: nil];
}
[playerDataPredicate release], playerDataPredicate = nil;
[self createManifest: docsPath];
[[NSNotificationCenter defaultCenter] postNotificationName: @"readyToStartGame" object: nil];
}
- (void) startGame
{
if (glViewController != nil)
if (glViewController != nil)
[glViewController release];
glViewController = [[EAGLViewController alloc] init];
[[[self.window subviews] lastObject] removeFromSuperview];
[self.window addSubview:self.glViewController.view];
[self.window setRootViewController: glViewController];
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc removeObserver: self name: @"intializeGame" object: nil];
@@ -286,7 +286,7 @@
[internetReach release];
[glViewController release];
[wagicDownloadController release];
[super dealloc];
}
@@ -298,23 +298,23 @@
hostReach = [[Reachability reachabilityForGoogleDNS] retain];
internetReach = [[Reachability reachabilityForInternetConnection] retain];
wifiReach = [[Reachability reachabilityForLocalWiFi] retain];
[hostReach startNotifier];
[internetReach startNotifier];
[wifiReach startNotifier];
}
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.glViewController = nil;
[self setupNetworkListeners];
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc addObserver:self selector:@selector(preGameInitialization) name:@"initializeGame" object: nil];
[dnc addObserver:self selector:@selector(startGame) name:@"readyToStartGame" object: nil];
[self initializeResources];
// check to see if the Res folder exists. If it does continue
// otherwise bring up the download dialog and download the core files
@@ -328,7 +328,7 @@
{
[self preGameInitialization];
}
[self.window setBackgroundColor: [UIColor blackColor]];
[self.window makeKeyAndVisible];
@@ -337,7 +337,7 @@
- (void)applicationWillTerminate:(UIApplication *)application
{
[self.glViewController.view destroyGame];
[self.glViewController.view destroyGame];
}
- (void)initializeKeyboard: (id) initialState
@@ -345,31 +345,18 @@
[self.glViewController toggleKeyboardWithState: initialState];
}
- (void) handleWEngineCommand:(NSString *) command
withUIParameters: (CGFloat) x
yCoordinate: (CGFloat) y
width: (CGFloat) width
- (void) handleWEngineCommand:(NSString *) command
withUIParameters: (CGFloat) x
yCoordinate: (CGFloat) y
width: (CGFloat) width
height: (CGFloat) height
{
}
- (void)handleWEngineCommand:(NSString *) command withParameter: (NSString *) parameter
{
BOOL isDevicePhone = (UI_USER_INTERFACE_IDIOM()) == UIUserInterfaceIdiomPhone;
if ([command isEqualToString: @"entergamestate:menu"] )
[glViewController.eaglView displayAds];
else if ([command isEqualToString: @"enterduelphase:end"] && isDevicePhone)
[glViewController.eaglView displayAds];
else if ([command isEqualToString: @"leaveduelphase:end"] ||
[command isEqualToString: @"leavegamestate:menu"])
{
if (isDevicePhone)
[glViewController.eaglView removeAds];
}
else if ([command isEqualToString: @"displayKeyboard"])
if ([command isEqualToString: @"displayKeyboard"])
{
[self initializeKeyboard: parameter];
}
@@ -379,16 +366,17 @@
}
- (void) rotateBackgroundImage:(UIInterfaceOrientation)fromInterfaceOrientation toInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
bool isPhone = (UI_USER_INTERFACE_IDIOM()) == UIUserInterfaceIdiomPhone;
if (isPhone)
if (isPhone)
{
UIImage *bgImage = [UIImage imageNamed: @"Default-Portrait.png"];
[[[self.window subviews] objectAtIndex: 0] setBackgroundColor: [UIColor colorWithPatternImage: bgImage]];
}
else
else
{
[self.window setBackgroundColor: [UIColor clearColor]];
if (UIInterfaceOrientationIsLandscape( toInterfaceOrientation)) {
@@ -410,12 +398,12 @@
{
BOOL netAvailable = NO;
//NSDate *startTime = [[[NSDate alloc ] init] autorelease];
hostReach = [[Reachability reachabilityForGoogleDNS] retain];
NetworkStatus netStatus = [hostReach currentReachabilityStatus];
if (netStatus == ReachableViaWiFi || netStatus == ReachableViaWWAN) {
netAvailable = YES;
}

View File

@@ -1,36 +0,0 @@
/*
AdWhirlAdapterBrightRoll.h
Copyright 2010 BrightRoll, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "BRBannerAd.h"
#import "BRBannerAdDelegate.h"
#import "BRFullScreenAd.h"
#import "BRFullScreenAdDelegate.h"
@interface AdWhirlAdapterBrightRoll : AdWhirlAdNetworkAdapter <BRBannerAdDelegate, BRFullScreenAdDelegate>
{
BRBannerAd *brBannerAd;
}
@property (nonatomic, retain) BRBannerAd *brBannerAd;
+ (AdWhirlAdNetworkType)networkType;
- (void)brBannerAdFetched:(BRBannerAd *)brBannerAd;
@end

View File

@@ -1,137 +0,0 @@
/*
AdWhirlAdapterBrightRoll.m
Copyright 2009 BrightRoll, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterBrightRoll.h"
#import "AdWhirlAdNetworkAdapter.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlView.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkConfig.h"
@implementation AdWhirlAdapterBrightRoll
@synthesize brBannerAd;
+ (AdWhirlAdNetworkType)networkType
{
return AdWhirlAdNetworkTypeBrightRoll;
}
+ (void)load
{
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)stopObserving
{
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:@"AdWhirlViewWillAnimateToNewAd"
object:self.adWhirlView];
}
- (void)stopBeingDelegate
{
[self stopObserving];
self.brBannerAd.delegate = nil;
self.brBannerAd = nil;
}
- (void)getAd
{
self.brBannerAd = [BRBannerAd fetchWithDelegate:self];
}
#pragma mark BRBannerAdDelegate required methods
- (NSString *)brBannerAdAppId:(BRBannerAd *)theBrBannerAd
{
if ([adWhirlDelegate respondsToSelector:@selector(brightRollAppId)])
{
return [adWhirlDelegate brightRollAppId];
}
return networkConfig.pubId;
}
- (void)brBannerAdFetched:(BRBannerAd *)theBrBannerAd
{
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(adWhirlWillAnimateToNewAdIn:)
name:@"AdWhirlViewWillAnimateToNewAd"
object:self.adWhirlView];
brBannerAd.fullScreenAd.delegate = self;
self.adNetworkView = brBannerAd.view;
[self.adWhirlView adapter:self didReceiveAdView:brBannerAd.view];
}
- (void)brBannerAdFetchFailed:(BRBannerAd *)bannerAd
{
[adWhirlView
adapter:self
didFailAd:[NSError
errorWithDomain:@"com.brightroll.BrightRoll_iPhone_SDK"
code:404
userInfo:[NSDictionary dictionary]]];
}
- (void)brBannerAdWillShowFullScreenAd:(BRBannerAd *)bannerAd
{
[self helperNotifyDelegateOfFullScreenModal];
}
#pragma mark AdWhirlView notification methods
- (void)adWhirlWillAnimateToNewAdIn:(NSNotification *)notification
{
if ([self.adWhirlView performSelector:@selector(currAdapter)] == self)
{
[self stopObserving];
[self helperNotifyDelegateOfFullScreenModal];
[brBannerAd.fullScreenAd show];
}
}
#pragma mark BRFullScreenAdDelegate required methods
- (UIViewController *)brFullScreenAdControllerParent
{
return [self.adWhirlDelegate viewControllerForPresentingModalView];
}
- (void)brFullScreenAdDismissed:(BRFullScreenAd *)brFullScreenAd
{
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
- (NSString *)brightRollAppId
{
NSString *appId = [self.networkConfig.credentials objectForKey:@"pubid"];
if (!appId)
{
appId = [self.adWhirlDelegate brightRollAppId];
}
return appId;
}
@end

View File

@@ -1,49 +0,0 @@
/*
AdWhirlAdapterGreystripe.m
Copyright 2010 Greystripe, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "GreystripeDelegate.h"
/**
* Banner slot name used to identify the banner ad slot within the Greystripe
* SDK.
*/
extern NSString * const kGSBannerSlotName;
/**
* Full-screen slot name used to identify the full-screen ad slot within the
* Greystripe SDK. Use this slot name to display full-screen ads as follows:
*
* [GSAdEngine displayFullScreenAdForSlotNamed:kGSFullScreenSlotName];
*
* If you need to check whether an ad is available for this slot, simply use:
*
* [GSAdEngine isAdReadyForSlotNamed:kGSFullScreenSlotName];
*/
extern NSString * const kGSFullScreenSlotName;
@class GSAdView;
@interface AdWhirlAdapterGreystripe : AdWhirlAdNetworkAdapter <GreystripeDelegate> {
UIView *innerContainer;
UIView *outerContainer;
}
@end

View File

@@ -1,191 +0,0 @@
/*
AdWhirlAdapterGreystripe.m
Copyright 2010 Greystripe, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterGreystripe.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlLog.h"
#import "AdWhirlView.h"
#import "GSAdView.h"
#import "GSAdEngine.h"
// constants
NSString * const kGSBannerSlotName = @"gsBanner";
NSString * const kGSFullScreenSlotName = @"gsFullScreen";
// static globals
static BOOL g_didStartUpGreystripe;
static NSTimeInterval g_lastAdReadyTime;
@interface AdWhirlAdapterGreystripe ()
- (void)bannerAdReady;
@end
@implementation AdWhirlAdapterGreystripe
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeGreyStripe;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
/**
* Initialize the Greystripe adapter. The GSAdEngine will be started up the
* first time this method is called, using the ID provided by the AdWhirl
* server. Two slots will be registered with the GSAdEngine: one banner and one
* full-screen. See the note in AdWhirlAdapterGreystripe.h on how to make use
* of the full-screen slot.
*/
- (id)initWithAdWhirlDelegate:(id<AdWhirlDelegate>)delegate
view:(AdWhirlView *)view
config:(AdWhirlConfig *)config
networkConfig:(AdWhirlAdNetworkConfig *)netConf {
if(self = [super initWithAdWhirlDelegate:delegate view:view config:config networkConfig:netConf]) {
if(!g_didStartUpGreystripe) {
@try {
GSAdSlotDescription * bannerSlot = [GSAdSlotDescription descriptionWithSize:kGSAdSizeBanner name:kGSBannerSlotName];
GSAdSlotDescription * fullScreenSlot = [GSAdSlotDescription descriptionWithSize:kGSAdSizeIPhoneFullScreen name:kGSFullScreenSlotName];
[GSAdEngine startupWithAppID:netConf.pubId adSlotDescriptions:[NSArray arrayWithObjects:bannerSlot,fullScreenSlot, nil]];
g_didStartUpGreystripe = YES;
}
@catch (NSException *e) {
// This exception is thrown when Greystripe is initialized twice. We
// ignore it because if the host app is using Greystripe directly for
// full-screen ads, it may have already initialized Greystripe before
// AdWhirl tried to do the same.
if([e.name isEqualToString:NSInternalInconsistencyException]){
g_didStartUpGreystripe = YES;
}
else {
@throw e;
}
}
}
}
return self;
}
/**
* Fetch a banner ad from Greystripe. This method only fetches banners as all
* full-screen ad fetching is performed implicitly by the GSAdEngine.
*/
- (void)getAd {
GSAdView *gsAdView = [GSAdView adViewForSlotNamed:kGSBannerSlotName delegate:self];
// Use default frame, slightly bigger, to be the parent view of gsAdView, so
// when the GSAdView finds its containing view it stops at the inner Container
// and will set the alpha of innerContainer, not the AdWhirlView
innerContainer = [[UIView alloc] initWithFrame:kAdWhirlViewDefaultFrame];
innerContainer.backgroundColor = [UIColor clearColor];
[innerContainer addSubview:gsAdView];
// Set the outer container to be the size of the gsAdView so there are no unsightly
// borders around the ad
outerContainer = [[UIView alloc] initWithFrame:gsAdView.frame];
outerContainer.backgroundColor = [UIColor clearColor];
[outerContainer addSubview:innerContainer];
self.adNetworkView = outerContainer;
NSTimeInterval now = [[NSDate date] timeIntervalSince1970];
NSTimeInterval delta = now - g_lastAdReadyTime;
if(delta > kGSMinimumRefreshInterval) {
// For the initial ad display we will get an ad ready notification
// automatically because the ad is automatically rendered
// regardless of its refresh interval (0 here). For all other
// displays we must force it.
if(g_lastAdReadyTime > 0) {
if([GSAdEngine isNextAdDownloadedForSlotNamed:kGSBannerSlotName]) {
[gsAdView refresh];
[self bannerAdReady];
}
else {
AWLogDebug(@"Failing Greystripe banner ad request because the next "\
"banner ad has not yet been downloaded.");
[adWhirlView adapter:self didFailAd:nil];
}
}
}
else {
AWLogDebug(@"Failing Greystripe ad request because Greystripe's "
"minimum refresh interval of %f has not elapsed since the "\
"previous banner display.", kGSMinimumRefreshInterval);
[adWhirlView adapter:self didFailAd:nil];
}
}
/**
* Stop being the delegate for banner ads. In order to change the delegate for
* full-screen Greystripe ads, see GSAdEngine's
* setFullScreenDelegate:forSlotNamed: method.
*/
- (void)stopBeingDelegate {
[GSAdView adViewForSlotNamed:kGSBannerSlotName delegate:nil];
}
- (void)dealloc {
[innerContainer release];
[outerContainer release];
[super dealloc];
}
#pragma mark -
#pragma mark GreystripeDelegate notification methods
/**
* Delegate notification received when Greystripe has a banner ad ready.
*/
- (void)greystripeAdReadyForSlotNamed:(NSString *)a_name {
if ([a_name isEqualToString:kGSBannerSlotName] && g_lastAdReadyTime == 0) {
// Only forward on this notification for the initial notification as
// all other notifications will be sent explicitly after checking
// ad readiness (see getAd).
[self bannerAdReady];
}
}
- (void)greystripeFullScreenDisplayWillOpen {
[self helperNotifyDelegateOfFullScreenModal];
}
- (void)greystripeFullScreenDisplayWillClose {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
#pragma mark -
#pragma mark Internal methods
/**
* Notify the host app that Greystripe has received an ad. This only applies
* banner ads that the Greystripe SDK has fetched, as readiness of full-screen
* ads can be always be checked directly via
* [GSAdEngine isAdReadyForSlotNamed:kGSFullScreenSlotName].
*/
- (void)bannerAdReady {
AWLogDebug(@"Greystripe received banner ad.");
g_lastAdReadyTime = [[NSDate date] timeIntervalSince1970];
[adWhirlView adapter:self didReceiveAdView:self.adNetworkView];
}
@end

View File

@@ -1,37 +0,0 @@
/*
AdWhirlAdapterInMobi.h
Copyright 2010 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "IMAdDelegate.h"
#import "IMAdRequest.h"
@class InMobiAdView;
@interface AdWhirlAdapterInMobi : AdWhirlAdNetworkAdapter <IMAdDelegate> {
}
+ (AdWhirlAdNetworkType)networkType;
- (NSString *)siteId;
- (UIViewController *)rootViewControllerForAd;
- (BOOL)testMode;
- (Gender)gender;
@end

View File

@@ -1,173 +0,0 @@
/*
AdWhirlAdapterInMobi.m
Copyright 2010 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterInMobi.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlView.h"
#import "IMAdView.h"
#import "IMAdRequest.h"
#import "AdWhirlLog.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
@implementation AdWhirlAdapterInMobi
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeInMobi;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
IMAdView *inMobiView = [[IMAdView alloc]
initWithFrame:kAdWhirlViewDefaultFrame
imAppId:[self siteId]
imAdUnit:IM_UNIT_320x50
rootViewController:[self rootViewControllerForAd]];
[inMobiView autorelease];
inMobiView.refreshInterval = REFRESH_INTERVAL_OFF;
inMobiView.delegate = self;
self.adNetworkView = inMobiView;
IMAdRequest *request = [IMAdRequest request];
if ([self testMode]) {
request.testMode = true;
}
if ([adWhirlDelegate respondsToSelector:@selector(postalCode)]) {
request.postalCode = [adWhirlDelegate postalCode];
}
if ([adWhirlDelegate respondsToSelector:@selector(areaCode)]) {
request.areaCode = [adWhirlDelegate areaCode];
}
if ([adWhirlDelegate respondsToSelector:@selector(dateOfBirth)]) {
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"dd-MM-yyyy"];
request.dateOfBirth = [formatter
stringFromDate:[adWhirlDelegate dateOfBirth]];
}
if ([adWhirlDelegate respondsToSelector:@selector(gender)]) {
if ([adWhirlDelegate gender] == @"m") {
request.gender = G_M;
} else if ([adWhirlDelegate gender] == @"f") {
request.gender = G_F;
} else {
request.gender = G_None;
}
}
if ([adWhirlDelegate respondsToSelector:@selector(keywords)]) {
request.keywords = [adWhirlDelegate keywords];
}
if ([adWhirlDelegate respondsToSelector:@selector(searchString)]) {
request.searchString = [adWhirlDelegate searchString];
}
if ([adWhirlDelegate respondsToSelector:@selector(incomeLevel)]) {
request.income = [adWhirlDelegate incomeLevel];
}
if ([adWhirlDelegate respondsToSelector:@selector(inMobiEducation)]) {
request.education = [adWhirlDelegate inMobiEducation];
}
if ([adWhirlDelegate respondsToSelector:@selector(inMobiEthnicity)]) {
request.ethnicity = [adWhirlDelegate inMobiEthnicity];
}
if ([adWhirlDelegate respondsToSelector:@selector(dateOfBirth)]) {
request.age = [self helperCalculateAge];
}
if ([adWhirlDelegate respondsToSelector:@selector(inMobiInterests)]) {
request.interests = [adWhirlDelegate inMobiInterests];
}
if ([adWhirlDelegate respondsToSelector:@selector(inMobiParamsDictionary)]) {
request.paramsDictionary = [adWhirlDelegate inMobiParamsDictionary];
}
if (!adWhirlConfig.locationOn) {
request.isLocationEnquiryAllowed = false;
}
[inMobiView loadIMAdRequest:request];
}
- (void)stopBeingDelegate {
InMobiAdView *inMobiView = (InMobiAdView *)self.adNetworkView;
if (inMobiView != nil) {
[inMobiView setDelegate:nil];
}
}
- (void)dealloc {
[super dealloc];
}
#pragma mark IMAdView helper methods
- (NSString *)siteId {
if ([adWhirlDelegate respondsToSelector:@selector(inMobiAppId)]) {
return [adWhirlDelegate inMobiAppID];
}
return networkConfig.pubId;
}
- (UIViewController *)rootViewControllerForAd {
return [adWhirlDelegate viewControllerForPresentingModalView];
}
- (BOOL)testMode {
if ([adWhirlDelegate respondsToSelector:@selector(adWhirlTestMode)])
return [adWhirlDelegate adWhirlTestMode];
return NO;
}
- (Gender)gender {
if ([adWhirlDelegate respondsToSelector:@selector(gender)]) {
NSString *genderStr = [adWhirlDelegate gender];
if ([genderStr isEqualToString:@"f"]) {
return G_F;
} else if ([genderStr isEqualToString:@"m"]) {
return G_M;
}
}
return G_None;
}
#pragma mark IMAdDelegate methods
- (void)adViewDidFinishRequest:(IMAdView *)adView {
[adWhirlView adapter:self didReceiveAdView:adView];
}
- (void)adView:(IMAdView *)view didFailRequestWithError:(IMAdError *)error {
NSLog(@"Error %@", error);
[adWhirlView adapter:self didFailAd:nil];
}
- (void)adViewWillPresentScreen:(IMAdView *)adView {
[self helperNotifyDelegateOfFullScreenModal];
}
- (void)adViewWillDismissScreen:(IMAdView *)adView {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
- (void)adViewWillLeaveApplication:(IMAdView *)adView {
[self helperNotifyDelegateOfFullScreenModal];
}
@end

View File

@@ -1,30 +0,0 @@
/*
AdWhirlAdapterJumpTap.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "JTAdWidget.h"
@interface AdWhirlAdapterJumpTap : AdWhirlAdNetworkAdapter <JTAdWidgetDelegate> {
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,238 +0,0 @@
/*
AdWhirlAdapterJumpTap.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterJumpTap.h"
#import "AdWhirlView.h"
#import "AdWhirlConfig.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
@implementation AdWhirlAdapterJumpTap
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeJumpTap;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
JTAdWidget *widget = [[JTAdWidget alloc] initWithDelegate:self
shouldStartLoading:YES];
widget.frame = kAdWhirlViewDefaultFrame;
widget.refreshInterval = 0; // do not self-refresh
self.adNetworkView = widget;
if ([adWhirlDelegate respondsToSelector:@selector(jumptapTransitionType)]) {
widget.transition = [adWhirlDelegate jumptapTransitionType];
}
[widget release];
}
- (void)stopBeingDelegate {
// no way to set JTAdWidget's delegate to nil
}
- (void)dealloc {
[super dealloc];
}
#pragma mark JTAdWidgetDelegate methods
- (NSString *)publisherId:(id)theWidget {
NSString *pubId = networkConfig.pubId;
if (pubId == nil) {
NSDictionary *cred = networkConfig.credentials;
if (cred != nil) {
pubId = [cred objectForKey:@"publisherID"];
}
}
return pubId;
}
- (NSString *)site:(id)theWidget {
NSString *siteId = nil;
if ([adWhirlDelegate respondsToSelector:@selector(jumptapSiteId)]) {
siteId = [adWhirlDelegate jumptapSiteId];
}
if (siteId == nil) {
NSDictionary *cred = networkConfig.credentials;
if (cred != nil) {
siteId = [cred objectForKey:@"siteID"];
}
}
return siteId;
}
- (NSString *)adSpot:(id)theWidget {
NSString *spotId = nil;
if ([adWhirlDelegate respondsToSelector:@selector(jumptapSpotId)]) {
spotId = [adWhirlDelegate jumptapSpotId];
}
if (spotId == nil) {
NSDictionary *cred = networkConfig.credentials;
if (cred != nil) {
spotId = [cred objectForKey:@"spotID"];
}
}
return spotId;
}
- (BOOL)shouldRenderAd:(id)theWidget {
[adWhirlView adapter:self didReceiveAdView:theWidget];
return YES;
}
- (void)beginAdInteraction:(id)theWidget {
[self helperNotifyDelegateOfFullScreenModal];
}
- (void)endAdInteraction:(id)theWidget {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
- (void)adWidget:(id)theWidget didFailToShowAd:(NSError *)error {
[adWhirlView adapter:self didFailAd:error];
}
- (void)adWidget:(id)theWidget didFailToRequestAd:(NSError *)error {
[adWhirlView adapter:self didFailAd:error];
}
- (BOOL)respondsToSelector:(SEL)selector {
if (selector == @selector(location:)
&& ![adWhirlDelegate respondsToSelector:@selector(locationInfo)]) {
return NO;
}
else if (selector == @selector(query:)
&& ![adWhirlDelegate respondsToSelector:@selector(keywords)]) {
return NO;
}
else if (selector == @selector(category:)
&& ![adWhirlDelegate respondsToSelector:@selector(jumptapCategory)]) {
return NO;
}
else if (selector == @selector(adultContent:)
&& ![adWhirlDelegate respondsToSelector:@selector(jumptapAdultContent)]) {
return NO;
}
return [super respondsToSelector:selector];
}
#pragma mark JTAdWidgetDelegate methods -Targeting
- (NSString *)query:(id)theWidget {
return [adWhirlDelegate keywords];
}
- (NSString *)category:(id)theWidget {
return [adWhirlDelegate jumptapCategory];
}
- (AdultContent)adultContent:(id)theWidget {
return [adWhirlDelegate jumptapAdultContent];
}
#pragma mark JTAdWidgetDelegate methods -General Configuration
- (NSDictionary*)extraParameters:(id)theWidget {
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:10];
if ([adWhirlDelegate respondsToSelector:@selector(dateOfBirth)]) {
NSInteger age = [self helperCalculateAge];
if (age >= 0)
[dict setObject:[NSString stringWithFormat:@"%d",age] forKey:@"mt-age"];
}
if ([adWhirlDelegate respondsToSelector:@selector(gender)]) {
NSString *gender = [adWhirlDelegate gender];
if (gender != nil)
[dict setObject:gender forKey:@"mt-gender"];
}
if ([adWhirlDelegate respondsToSelector:@selector(incomeLevel)]) {
NSUInteger income = [adWhirlDelegate incomeLevel];
NSString *level = nil;
if (income < 15000) {
level = @"000_015";
}
else if (income < 20000) {
level = @"015_020";
}
else if (income < 30000) {
level = @"020_030";
}
else if (income < 40000) {
level = @"030_040";
}
else if (income < 50000) {
level = @"040_050";
}
else if (income < 75000) {
level = @"050_075";
}
else if (income < 100000) {
level = @"075_100";
}
else if (income < 125000) {
level = @"100_125";
}
else if (income < 150000) {
level = @"125_150";
}
else {
level = @"150_OVER";
}
[dict setObject:level forKey:@"mt-hhi"];
}
return dict;
}
- (UIColor *)adBackgroundColor:(id)theWidget {
return [self helperBackgroundColorToUse];
}
- (UIColor *)adForegroundColor:(id)theWidget {
return [self helperTextColorToUse];
}
#pragma mark JTAdWidgetDelegate methods -Location Configuration
- (BOOL)allowLocationUse:(id)theWidget {
return adWhirlConfig.locationOn;
}
- (CLLocation*)location:(id)theWidget {
if (![adWhirlDelegate respondsToSelector:@selector(locationInfo)]) {
return nil;
}
return [adWhirlDelegate locationInfo];
}
#pragma mark JTAdWidgetDelegate methods -Ad Display and User Interaction
// The ad orientation changed
//- (void)adWidget:(id)theWidget orientationHasChangedTo:(UIInterfaceOrientation)interfaceOrientation;
// Language methods
//- (NSString*)getPlayVideoPrompt:(id)theWidget;
//- (NSString*)getBackButtonPrompt:(id)theWidget isInterstitial:(BOOL)isInterstitial;
//- (NSString*)getSafariButtonPrompt:(id)theWidget;
@end

View File

@@ -1,38 +0,0 @@
/*
AdWhirlAdapterMdotM.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "AdWhirlCustomAdView.h"
#import "AdWhirlWebBrowserController.h"
@interface AdWhirlAdapterMdotM : AdWhirlAdNetworkAdapter <AdWhirlCustomAdViewDelegate, AdWhirlWebBrowserControllerDelegate> {
BOOL requesting;
CLLocationManager *locationManager;
NSURLConnection *adConnection;
NSMutableData *adData;
NSURLConnection *imageConnection;
NSMutableData *imageData;
AdWhirlCustomAdView *adView;
AdWhirlWebBrowserController *webBrowserController;
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,423 +0,0 @@
/*
AdWhirlAdapterMdotM.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterMdotM.h"
#import "AdWhirlView.h"
#import "AdWhirlConfig.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlDelegateProtocol.h"
#import "AdWhirlLog.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlAdapterCustom.h"
#import "AdWhirlError.h"
#import "CJSONDeserializer.h"
#import "AdWhirlCustomAdView.h"
@interface AdWhirlAdapterMdotM ()
- (BOOL)parseAdData:(NSData *)data error:(NSError **)error;
@property (nonatomic,readonly) CLLocationManager *locationManager;
@property (nonatomic,retain) NSURLConnection *adConnection;
@property (nonatomic,retain) NSURLConnection *imageConnection;
@property (nonatomic,retain) AdWhirlCustomAdView *adView;
@property (nonatomic,retain) AdWhirlWebBrowserController *webBrowserController;
@end
@implementation AdWhirlAdapterMdotM
@synthesize adConnection;
@synthesize imageConnection;
@synthesize adView;
@synthesize webBrowserController;
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeMdotM;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (BOOL)useTestAd {
if ([adWhirlDelegate respondsToSelector:@selector(adWhirlTestMode)])
return [adWhirlDelegate adWhirlTestMode];
return NO;
}
- (id)initWithAdWhirlDelegate:(id<AdWhirlDelegate>)delegate
view:(AdWhirlView *)view
config:(AdWhirlConfig *)config
networkConfig:(AdWhirlAdNetworkConfig *)netConf {
self = [super initWithAdWhirlDelegate:delegate
view:view
config:config
networkConfig:netConf];
if (self != nil) {
adData = [[NSMutableData alloc] init];
imageData = [[NSMutableData alloc] init];
}
return self;
}
- (NSMutableString *)appendUserContextDic:(NSDictionary *)dic withUrl:(NSString *)sUrl {
NSArray *keyArray = [dic allKeys];
NSMutableString *str = [NSMutableString stringWithString:sUrl];
//Iterate over the context disctionary and for each kay-value pair create a string of the format &key=value
for (int i = 0; i < [keyArray count]; i++) {
[str appendFormat:@"&%@=%@",[keyArray objectAtIndex:i], [dic objectForKey:[keyArray objectAtIndex:i]]];
}
return str;
}
- (void)getAd {
@synchronized(self) {
if (requesting) return;
requesting = YES;
}
NSString *appKey = networkConfig.pubId;
if ([adWhirlDelegate respondsToSelector:@selector(MdotMApplicationKey)] ) {
appKey = [adWhirlDelegate MdotMApplicationKey];
}
UIDevice *device = [UIDevice currentDevice];
NSBundle *bundle = [NSBundle mainBundle];
NSLocale *locale = [NSLocale currentLocale];
NSString *userAgent = [NSString stringWithFormat:@"%@ %@ (%@; %@ %@; %@)",
[bundle objectForInfoDictionaryKey:@"CFBundleDisplayName"],
[bundle objectForInfoDictionaryKey:@"CFBundleVersion"],
[device model],
[device systemName], [device systemVersion],
[locale localeIdentifier]];
int test;
if ( [self useTestAd] ) {
test = 1;
} else
test = 0;
NSString *str = [NSString stringWithFormat:
@"http://ads.mdotm.com/ads/feed.php?appver=%d&v=%@&apikey=mdotm&appkey=%@&deviceid=%@&width=320&height=50&fmt=json&ua=%@&test=%d",
kAdWhirlAppVer, [[UIDevice currentDevice] systemVersion],
appKey, [[UIDevice currentDevice] uniqueIdentifier], userAgent, test];
NSMutableDictionary *userContextDic = [[NSMutableDictionary alloc] initWithCapacity:2];
if ( [userContextDic count] > 0 ) {
str = [self appendUserContextDic:userContextDic withUrl:str];
}
NSString *urlString = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *adRequestURL = [[NSURL alloc] initWithString:urlString];
AWLogDebug(@"Requesting MdotM ad (%@) %@", str, adRequestURL);
NSURLRequest *adRequest = [NSURLRequest requestWithURL:adRequestURL];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:adRequest
delegate:self];
self.adConnection = conn;
[conn release];
[adRequestURL release];
[userContextDic release];
}
#pragma mark MdotMDelegate optional methods
- (BOOL)respondsToSelector:(SEL)selector {
if (selector == @selector(location)
&& ![adWhirlDelegate respondsToSelector:@selector(location)]) {
return NO;
}
else if (selector == @selector(userContext)
&& ![adWhirlDelegate respondsToSelector:@selector(userContext)]) {
return NO;
} return [super respondsToSelector:selector];
}
- (CLLocationManager *)locationManager {
if (locationManager == nil) {
locationManager = [[CLLocationManager alloc] init];
}
return locationManager;
}
- (BOOL)parseEnums:(int *)val
adInfo:(NSDictionary*)info
minVal:(int)min
maxVal:(int)max
fieldName:(NSString *)name
error:(NSError **)error {
NSString *str = [info objectForKey:name];
if (str == nil) {
if (error != nil)
*error = [AdWhirlError errorWithCode:AdWhirlCustomAdDataError
description:[NSString stringWithFormat:
@"MdotM ad data has no '%@' field", name]];
return NO;
}
int intVal = [str intValue];
if (intVal <= min || intVal >= max) {
if (error != nil)
*error = [AdWhirlError errorWithCode:AdWhirlCustomAdDataError
description:[NSString stringWithFormat:
@"MdotM ad data: Invalid value for %@ - %d", name, intVal]];
return NO;
}
*val = intVal;
return YES;
}
- (BOOL)parseAdData:(NSData *)data error:(NSError **)error {
NSError *jsonError = nil;
id parsed = [[CJSONDeserializer deserializer] deserialize:data error:&jsonError];
if (parsed == nil) {
if (error != nil)
*error = [AdWhirlError errorWithCode:AdWhirlCustomAdParseError
description:@"Error parsing MdotM ad JSON from server"
underlyingError:jsonError];
return NO;
}
if ([parsed isKindOfClass:[NSArray class]]) {
NSArray *ads = parsed;
NSDictionary *adInfo = nil;
if ( [ads count] == 0 ) {
return(NO);
} else {
id parsed0 =[ads objectAtIndex:0];
if ( [parsed0 isKindOfClass:[NSDictionary class]] ) {
adInfo = parsed0;
// gather up and validate ad info
NSString *text = [adInfo objectForKey:@"ad_text"];
NSString *redirectURLStr = [adInfo objectForKey:@"landing_url"];
int adTypeInt;
if (![self parseEnums:&adTypeInt
adInfo:adInfo
minVal:AWCustomAdTypeMIN
maxVal:AWCustomAdTypeMAX
fieldName:@"ad_type"
error:error]) {
return NO;
}
AWCustomAdType adType = adTypeInt;
int launchTypeInt;
if (![self parseEnums:&launchTypeInt
adInfo:adInfo
minVal:AWCustomAdLaunchTypeMIN
maxVal:AWCustomAdLaunchTypeMAX
fieldName:@"launch_type"
error:error]) {
return NO;
}
AWCustomAdLaunchType launchType = launchTypeInt;
AWCustomAdWebViewAnimType animType = AWCustomAdWebViewAnimTypeCurlDown;
NSURL *redirectURL = nil;
if (redirectURLStr == nil) {
AWLogWarn(@"No redirect URL for MdotM ad");
} else {
redirectURL = [[NSURL alloc] initWithString:redirectURLStr];
if (!redirectURL)
AWLogWarn(@"MdotM ad: Malformed redirect URL string %@", redirectURLStr);
}
AWLogDebug(@"Got MdotM ad %@ %@ %d %d %d", text, redirectURL,
adType, launchType, animType);
self.adView = [[AdWhirlCustomAdView alloc] initWithDelegate:self
text:text
redirectURL:redirectURL
clickMetricsURL:nil
adType:adType
launchType:launchType
animType:animType
backgroundColor:[self helperBackgroundColorToUse]
textColor:[self helperTextColorToUse]];
[self.adView release];
self.adNetworkView = adView;
[redirectURL release];
if (adView == nil) {
if (error != nil)
*error = [AdWhirlError errorWithCode:AdWhirlCustomAdDataError
description:@"Error initializing MdotM ad view"];
return NO;
}
// fetch image
id imageURL = [adInfo objectForKey:@"img_url"];
if ( [imageURL isKindOfClass:[NSString class]]) {
AWLogDebug(@"Request MdotM ad image at %@", imageURL);
NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:imageURL]];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:imageRequest
delegate:self];
self.imageConnection = conn;
[conn release];
} else {
return(NO);
}
} else {
return(NO);
}
}
} else {
if (error != nil)
*error = [AdWhirlError errorWithCode:AdWhirlCustomAdDataError
description:@"Expected top-level dictionary in MdotM ad data"];
return NO;
}
return YES;
}
- (void)stopBeingDelegate {
AdWhirlCustomAdView *theAdView = (AdWhirlCustomAdView *)self.adNetworkView;
if (theAdView != nil) {
theAdView.delegate = nil;
}
}
- (void)dealloc {
[locationManager release], locationManager = nil;
[adConnection release], adConnection = nil;
[adData release], adData = nil;
[imageConnection release], imageConnection = nil;
[imageData release], imageData = nil;
[adView release], adView = nil;
[webBrowserController release], webBrowserController = nil;
[super dealloc];
}
#pragma mark NSURLConnection delegate methods.
- (void)connection:(NSURLConnection *)conn didReceiveResponse:(NSURLResponse *)response {
if (conn == adConnection) {
[adData setLength:0];
}
else if (conn == imageConnection) {
[imageData setLength:0];
}
}
- (void)connection:(NSURLConnection *)conn didFailWithError:(NSError *)error {
if (conn == adConnection) {
[adWhirlView adapter:self didFailAd:[AdWhirlError errorWithCode:AdWhirlCustomAdConnectionError
description:@"Error connecting to MdotM ad server"
underlyingError:error]];
requesting = NO;
} else if (conn == imageConnection) {
[adWhirlView adapter:self didFailAd:[AdWhirlError errorWithCode:AdWhirlCustomAdConnectionError
description:@"Error connecting to MdotM to fetch image"
underlyingError:error]];
requesting = NO;
}
}
- (void)connectionDidFinishLoading:(NSURLConnection *)conn {
if (conn == adConnection) {
NSError *error = nil;
if (![self parseAdData:adData error:&error]) {
[adWhirlView adapter:self didFailAd:error];
requesting = NO;
return;
}
}
else if (conn == imageConnection) {
UIImage *image = [[UIImage alloc] initWithData:imageData];
if (image == nil) {
[adWhirlView adapter:self
didFailAd:[AdWhirlError errorWithCode:AdWhirlCustomAdImageError
description:@"Cannot initialize MdotM ad image from data"]];
requesting = NO;
return;
}
adView.image = image;
[adView setNeedsDisplay];
[image release];
requesting = NO;
[adWhirlView adapter:self didReceiveAdView:self.adView];
}
}
- (void)connection:(NSURLConnection *)conn didReceiveData:(NSData *)data {
if (conn == adConnection) {
[adData appendData:data];
}
else if (conn == imageConnection) {
[imageData appendData:data];
}
}
#pragma mark AdWhirlCustomAdViewDelegate methods
- (void)adTapped:(AdWhirlCustomAdView *)ad {
if (ad != adView) return;
if (ad.clickMetricsURL != nil) {
NSURLRequest *metRequest = [NSURLRequest requestWithURL:ad.clickMetricsURL];
[NSURLConnection connectionWithRequest:metRequest
delegate:nil]; // fire and forget
}
if (ad.redirectURL == nil) {
AWLogError(@"MdotM ad redirect URL is nil");
return;
}
switch (ad.launchType) {
case AWCustomAdLaunchTypeSafari:
[[UIApplication sharedApplication] openURL:ad.redirectURL];
break;
case AWCustomAdLaunchTypeCanvas:
if (self.webBrowserController == nil) {
AdWhirlWebBrowserController *ctrlr = [[AdWhirlWebBrowserController alloc] init];
self.webBrowserController = ctrlr;
[ctrlr release];
}
webBrowserController.delegate = self;
[webBrowserController presentWithController:[adWhirlDelegate viewControllerForPresentingModalView]
transition:ad.animType];
[self helperNotifyDelegateOfFullScreenModal];
[webBrowserController loadURL:ad.redirectURL];
break;
default:
AWLogError(@"MdotM ad: Unsupported launch type %d", ad.launchType);
break;
}
}
#pragma mark AdWhirlWebBrowserControllerDelegate methods
- (void)webBrowserClosed:(AdWhirlWebBrowserController *)controller {
if (controller != webBrowserController) return;
self.webBrowserController = nil; // don't keep around to save memory
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
@end

View File

@@ -1,30 +0,0 @@
/*
AdWhirlAdapterMillennial.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "MMAdView.h"
@interface AdWhirlAdapterMillennial : AdWhirlAdNetworkAdapter <MMAdDelegate> {
NSMutableDictionary *requestData;
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,227 +0,0 @@
/*
AdWhirlAdapterMillennial.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterMillennial.h"
#import "AdWhirlView.h"
#import "AdWhirlConfig.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlDelegateProtocol.h"
#import "AdWhirlLog.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
#define kMillennialAdFrame (CGRectMake(0, 0, 320, 53))
@interface AdWhirlAdapterMillennial ()
- (CLLocationDegrees)latitude;
- (CLLocationDegrees)longitude;
- (NSInteger)age;
- (NSString *)zipCode;
- (NSString *)sex;
@end
@implementation AdWhirlAdapterMillennial
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeMillennial;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
NSString *apID;
if ([adWhirlDelegate respondsToSelector:@selector(millennialMediaApIDString)]) {
apID = [adWhirlDelegate millennialMediaApIDString];
}
else {
apID = networkConfig.pubId;
}
requestData = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
@"adwhirl", @"vendor",
nil];
if ([self respondsToSelector:@selector(zipCode)]) {
[requestData setValue:[self zipCode] forKey:@"zip"];
}
if ([self respondsToSelector:@selector(age)]) {
[requestData setValue:[NSString stringWithFormat:@"%d",[self age]] forKey:@"age"];
}
if ([self respondsToSelector:@selector(sex)]) {
[requestData setValue:[self sex] forKey:@"sex"];
}
if ([self respondsToSelector:@selector(latitude)]) {
[requestData setValue:[NSString stringWithFormat:@"%lf",[self latitude]] forKey:@"lat"];
}
if ([self respondsToSelector:@selector(longitude)]) {
[requestData setValue:[NSString stringWithFormat:@"%lf",[self longitude]] forKey:@"long"];
}
MMAdType adType = MMBannerAdTop;
if ([adWhirlDelegate respondsToSelector:@selector(millennialMediaAdType)]) {
adType = [adWhirlDelegate millennialMediaAdType];
}
MMAdView *adView = [MMAdView adWithFrame:kMillennialAdFrame
type:adType
apid:apID
delegate:self
loadAd:YES
startTimer:NO];
self.adNetworkView = adView;
}
- (void)stopBeingDelegate {
MMAdView *adView = (MMAdView *)adNetworkView;
if (adView != nil) {
[adView setRefreshTimerEnabled:false];
adView.delegate = nil;
}
}
- (void)dealloc {
[requestData release];
[super dealloc];
}
#pragma mark MMAdDelegate methods
- (NSDictionary *)requestData {
AWLogDebug(@"Sending requestData to MM: %@", requestData);
return requestData;
}
- (void)adRequestSucceeded:(MMAdView *)adView {
// millennial ads are slightly taller than default frame, at 53 pixels.
[adWhirlView adapter:self didReceiveAdView:adNetworkView];
}
- (void)adRequestFailed:(MMAdView *)adView {
[adWhirlView adapter:self didFailAd:nil];
}
- (void)adModalWillAppear {
[self helperNotifyDelegateOfFullScreenModal];
}
- (void)adModalWasDismissed {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
#pragma mark requestData optional methods
// The follow is kept for gathering requestData
- (BOOL)respondsToSelector:(SEL)selector {
if (selector == @selector(latitude)
&& ![adWhirlDelegate respondsToSelector:@selector(locationInfo)]) {
return NO;
}
else if (selector == @selector(longitude)
&& ![adWhirlDelegate respondsToSelector:@selector(locationInfo)]) {
return NO;
}
else if (selector == @selector(age)
&& (!([adWhirlDelegate respondsToSelector:@selector(millennialMediaAge)]
|| [adWhirlDelegate respondsToSelector:@selector(dateOfBirth)])
|| [self age] < 0)) {
return NO;
}
else if (selector == @selector(zipCode)
&& ![adWhirlDelegate respondsToSelector:@selector(postalCode)]) {
return NO;
}
else if (selector == @selector(sex)
&& ![adWhirlDelegate respondsToSelector:@selector(gender)]) {
return NO;
}
else if (selector == @selector(householdIncome)
&& ![adWhirlDelegate respondsToSelector:@selector(incomeLevel)]) {
return NO;
}
else if (selector == @selector(educationLevel)
&& ![adWhirlDelegate respondsToSelector:@selector(millennialMediaEducationLevel)]) {
return NO;
}
else if (selector == @selector(ethnicity)
&& ![adWhirlDelegate respondsToSelector:@selector(millennialMediaEthnicity)]) {
return NO;
}
return [super respondsToSelector:selector];
}
- (CLLocationDegrees)latitude {
CLLocation *loc = [adWhirlDelegate locationInfo];
if (loc == nil) return 0.0;
return loc.coordinate.latitude;
}
- (CLLocationDegrees)longitude {
CLLocation *loc = [adWhirlDelegate locationInfo];
if (loc == nil) return 0.0;
return loc.coordinate.longitude;
}
- (NSInteger)age {
if ([adWhirlDelegate respondsToSelector:@selector(millennialMediaAge)]) {
return [adWhirlDelegate millennialMediaAge];
}
return [self helperCalculateAge];
}
- (NSString *)zipCode {
return [adWhirlDelegate postalCode];
}
- (NSString *)sex {
NSString *gender = [adWhirlDelegate gender];
NSString *sex = @"";
if (gender == nil)
return sex;
if ([gender compare:@"m"] == NSOrderedSame) {
sex = @"M";
}
else if ([gender compare:@"f"] == NSOrderedSame) {
sex = @"F";
}
return sex;
}
/*
- (NSInteger)householdIncome {
return (NSInteger)[adWhirlDelegate incomeLevel];
}
- (MMEducation)educationLevel {
return [adWhirlDelegate millennialMediaEducationLevel];
}
- (MMEthnicity)ethnicity {
return [adWhirlDelegate millennialMediaEthnicity];
}
*/
@end

View File

@@ -1,45 +0,0 @@
/*
AdWhirlAdapterNexage.h
Copyright 2011 Google, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <Foundation/Foundation.h>
#import "AdWhirlAdNetworkAdapter.h"
#import "NexageDelegateProtocol.h"
@class NexageAdViewController;
@interface AdWhirlAdapterNexage : AdWhirlAdNetworkAdapter
<NexageDelegateProtocol> {
NexageAdViewController* adViewController;
NSString* position;
}
+ (AdWhirlAdNetworkType)networkType;
- (NSDate *)dateOfBirth;
- (NSString *)postCode;
- (NSString *)gender;
- (NSString *)keywords;
- (NSInteger)houseIncome;
- (NSString *)city;
- (NSString *)designatedMarketArea;
- (NSString *)country;
- (NSString *)ethnicity;
- (NSString *)maritalStatus;
- (NSString *)areaCode;
@end

View File

@@ -1,219 +0,0 @@
/*
AdWhirlAdapterNexage.m
Copyright 2011 Google, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterNexage.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlView.h"
#import "AdWhirlConfig.h"
#import "NexageAdViewController.h"
#import "NexageAdParameters.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlError.h"
@implementation AdWhirlAdapterNexage
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeNexage;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd{
NSDictionary* atts = [NSDictionary dictionaryWithObjectsAndKeys:
[self dateOfBirth], @"u(dob)",
[self country], @"u(country)",
[self city], @"u(city)",
[self designatedMarketArea], @"u(dma)",
[self ethnicity], @"u(eth)",
[self gender], @"u(gender)",
[NSNumber numberWithDouble:[self houseIncome]], @"u(hhi)",
[self keywords], @"u(keywords)",
[self maritalStatus], @"u(marital)",
[self postCode], @"u(zip)",
nil];
NSDictionary* credDict;
if ([adWhirlDelegate respondsToSelector:@selector(nexageDictionary)]) {
credDict = [adWhirlDelegate nexageDictionary];
}
else {
credDict = [networkConfig credentials];
}
BOOL testMode = NO;
if ([adWhirlDelegate respondsToSelector:@selector(adWhirlTestMode)]
&& [adWhirlDelegate adWhirlTestMode]) {
testMode = YES;
}
// Nexage does weird things with position which can result in an over-release,
// so we're basically forced to leak this...
position = [[credDict objectForKey:@"position"] copy];
if(position == nil){
[adWhirlView adapter:self didFailAd:nil];
return;
}
adViewController =
[[NexageAdViewController alloc] initWithDelegate:position delegate:self];
[adViewController setEnable:YES];
[adViewController setAttributes:atts];
[adViewController setTestMode:testMode];
[adViewController locationAware:adWhirlConfig.locationOn];
#ifdef ADWHIRL_DEBUG
[adViewController enableLogging:YES];
#endif
self.adNetworkView = adViewController.view;
}
- (void)stopBeingDelegate {
if (adViewController != nil) {
adViewController.delegate = nil;
}
}
- (void)dealloc {
[self stopBeingDelegate];
[adViewController setAttributes:nil];
[adViewController release];
adViewController = nil;
[super dealloc];
}
#pragma mark NexageDelegateProtocol
- (void)adReceived:(UIView *)ad {
[adWhirlView adapter:self didReceiveAdView:ad];
}
/**
* This method will be called when user clicks the ad banner.
* The URL is an optional parameter, if Ad is from the Nexage mediation
* platform, you will get validate url, if it is nil, that means the action
* is from integrated sdk. Please check if (url == nil). The return YES, means
* the sdk will handle click event, otherwise sdk will ignore the user action.
* Basic Ad network principle should always return YES. Please refer our dev
* document for details
*/
- (BOOL)adActionShouldBegin:(NSURLRequest *)request
willLeaveApplication:(BOOL)willLeave {
[self helperNotifyDelegateOfFullScreenModal];
return YES;
}
/**
* The delegate will be called when full screen web browser is closed
*/
- (void)adFullScreenWebBrowserWillClose {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
/**
* identify the ad did not receive at this momnent.
*/
- (void)didFailToReceiveAd {
[adWhirlView adapter:self didFailAd:nil];
}
- (NSString *)dcnForAd {
NSDictionary *credDict;
if ([adWhirlDelegate respondsToSelector:@selector(nexageDictionary)]) {
credDict = [adWhirlDelegate nexageDictionary];
}
else {
credDict = [networkConfig credentials];
}
return [credDict objectForKey:@"dcn"];
}
- (UIViewController*)currentViewController {
return [adWhirlDelegate viewControllerForPresentingModalView];
}
#pragma mark user profiles
- (NSDate *)dateOfBirth {
if([adWhirlDelegate respondsToSelector:@selector(dateOfBirth)])
return [adWhirlDelegate dateOfBirth];
return nil;
}
- (NSString *)postCode {
if([adWhirlDelegate respondsToSelector:@selector(postalCode)])
return [adWhirlDelegate postalCode];
else return nil;
}
- (NSString *)gender {
if([adWhirlDelegate respondsToSelector:@selector(gender)])
return [adWhirlDelegate gender];
else return nil;
}
- (NSString *)keywords {
if([adWhirlDelegate respondsToSelector:@selector(keywords)])
return [adWhirlDelegate keywords];
else return nil;
}
- (NSInteger)houseIncome {
if([adWhirlDelegate respondsToSelector:@selector(incomeLevel)])
return [adWhirlDelegate incomeLevel];
return 0;
}
- (NSString *)city {
if([adWhirlDelegate respondsToSelector:@selector(nexageCity)])
return [adWhirlDelegate nexageCity];
else return nil;
}
- (NSString *)designatedMarketArea {
if([adWhirlDelegate respondsToSelector:@selector(nexageDesignatedMarketArea)])
return [adWhirlDelegate nexageDesignatedMarketArea];
else return nil;
}
- (NSString *)country {
if([adWhirlDelegate respondsToSelector:@selector(nexageCountry)])
return [adWhirlDelegate nexageCountry];
else return nil;
}
- (NSString *)ethnicity {
if([adWhirlDelegate respondsToSelector:@selector(nexageEthnicity)])
return [adWhirlDelegate nexageEthnicity];
else return nil;
}
- (NSString *)maritalStatus {
if([adWhirlDelegate respondsToSelector:@selector(nexageMaritalStatus)])
return [adWhirlDelegate nexageMaritalStatus];
else return nil;
}
- (NSString *)areaCode {
if([adWhirlDelegate respondsToSelector:@selector(areaCode)])
return [adWhirlDelegate areaCode];
else return nil;
}
@end

View File

@@ -1,30 +0,0 @@
/*
AdWhirlAdapterOneRiot.h
Copyright 2010 OneRiot, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "OneRiotAd.h"
@interface AdWhirlAdapterOneRiot : AdWhirlAdNetworkAdapter {
OneRiotAd *adControl;
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,75 +0,0 @@
/*
AdWhirlAdapterOneRiot.m
Copyright 2010 OneRiot, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterOneRiot.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkConfig.h"
@interface AdWhirlAdapterOneRiot ()
@property (nonatomic,retain) OneRiotAd *adControl;
@end
@implementation AdWhirlAdapterOneRiot
@synthesize adControl;
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeOneRiot;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
NSString *appId = networkConfig.pubId;
if ([adWhirlDelegate respondsToSelector:@selector(oneRiotAppID)]) {
appId = [adWhirlDelegate oneRiotAppID];
}
adControl = [[OneRiotAd alloc] initWithAppId:appId andWidth:300
andHeight:50];
adControl.RefreshInterval = adWhirlConfig.refreshInterval;
adControl.ReportGPS = adWhirlConfig.locationOn;
if ([adWhirlDelegate
respondsToSelector:@selector(oneRiotContextParameters)]) {
NSArray* contextParams = [adWhirlDelegate oneRiotContextParameters];
for (NSString* param in contextParams){
[adControl addContextParameters:param];
}
}
[adControl loadAd];
self.adNetworkView = adControl;
}
-(void) dealloc {
[adControl release];
adControl = nil;
[super dealloc];
}
@end

View File

@@ -1,30 +0,0 @@
/*
AdWhirlAdapterQuattro.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "QWAdView.h"
@interface AdWhirlAdapterQuattro : AdWhirlAdNetworkAdapter <QWAdViewDelegate> {
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,222 +0,0 @@
/*
AdWhirlAdapterQuattro.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterQuattro.h"
#import "AdWhirlView.h"
#import "AdWhirlConfig.h"
#import "AdWhirlAdNetworkConfig.h"
#import "QWAdView.h"
#import "QWTestMode.h"
#import "AdWhirlLog.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
@implementation AdWhirlAdapterQuattro
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeQuattro;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
QWEnableLocationServicesForAds(adWhirlConfig.locationOn);
if ([adWhirlDelegate respondsToSelector:@selector(adWhirlTestMode)]
&& [adWhirlDelegate adWhirlTestMode]) {
QWSetTestMode(YES);
QWSetLogging(YES);
}
else {
QWSetTestMode(NO);
QWSetLogging(NO);
}
NSDictionary *credDict;
if ([adWhirlDelegate respondsToSelector:@selector(quattroWirelessDictionary)]) {
credDict = [adWhirlDelegate quattroWirelessDictionary];
}
else {
credDict = [networkConfig credentials];
}
NSString *pubId = [credDict objectForKey:@"publisherID"];
NSString *siteId = [credDict objectForKey:@"siteID"];
QWAdType adType = QWAdTypeBanner;
if ([adWhirlDelegate respondsToSelector:@selector(quattroWirelessAdType)]) {
adType = (QWAdType)[adWhirlDelegate quattroWirelessAdType];
}
UIDeviceOrientation orientation;
if ([self.adWhirlDelegate respondsToSelector:@selector(adWhirlCurrentOrientation)]) {
orientation = [self.adWhirlDelegate adWhirlCurrentOrientation];
}
else {
orientation = [UIDevice currentDevice].orientation;
}
QWAdView *quattroAd = [QWAdView adViewWithType:adType
publisherID:pubId
siteID:siteId
orientation:orientation
delegate:self];
quattroAd.textColor = [self helperTextColorToUse];
quattroAd.backgroundColor = [self helperBackgroundColorToUse];
[quattroAd displayNewAd];
self.adNetworkView = quattroAd;
}
- (void)stopBeingDelegate {
QWAdView *quattroAd = (QWAdView *)self.adNetworkView;
if (quattroAd != nil) {
quattroAd.delegate = nil;
}
}
- (void)dealloc {
[super dealloc];
}
#pragma mark QWAdViewDelegate methods
- (void)adView:(QWAdView *)adView didDisplayAd:(QWAd *)ad {
// somehow the test banner ad is showing 80 pixels as height sometimes.
// check for that and adjust
AWLogDebug(@"Quattro reported frame %@", NSStringFromCGRect(self.adNetworkView.frame));
if (self.adNetworkView.frame.size.height > 50.0) {
CGRect f = adNetworkView.frame;
f.size.height = 50;
adNetworkView.frame = f;
}
[adWhirlView adapter:self didReceiveAdView:adView];
}
- (void)dispatchError:(NSError*)error
{
[adWhirlView adapter:self didFailAd:error];
}
- (void)adView:(QWAdView *)adView failedWithError:(NSError *)error {
[self performSelectorOnMainThread:@selector(dispatchError:) withObject:error waitUntilDone:NO];
}
- (void)adView:(QWAdView *)adView displayLandingPage:(UIViewController *)controller {
[self helperNotifyDelegateOfFullScreenModal];
[[adWhirlDelegate viewControllerForPresentingModalView] presentModalViewController:controller
animated:YES];
}
- (void)adView:(QWAdView *)adView dismiss:(UIViewController *)controller {
[[adWhirlDelegate viewControllerForPresentingModalView] dismissModalViewControllerAnimated:YES];
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
#pragma mark QWAdViewDelegate optional methods
- (BOOL)respondsToSelector:(SEL)selector {
if (selector == @selector(latitude:)
&& ![adWhirlDelegate respondsToSelector:@selector(locationInfo)]) {
return NO;
}
else if (selector == @selector(longitude:)
&& ![adWhirlDelegate respondsToSelector:@selector(locationInfo)]) {
return NO;
}
else if (selector == @selector(age:)
&& (![adWhirlDelegate respondsToSelector:@selector(dateOfBirth)]
|| [self age:nil] < 0)) {
return NO;
}
else if (selector == @selector(zipcode:)
&& ![adWhirlDelegate respondsToSelector:@selector(postalCode)]) {
return NO;
}
else if (selector == @selector(gender:)
&& ![adWhirlDelegate respondsToSelector:@selector(gender)]) {
return NO;
}
else if (selector == @selector(income:)
&& ![adWhirlDelegate respondsToSelector:@selector(incomeLevel)]) {
return NO;
}
else if (selector == @selector(education:)
&& ![adWhirlDelegate respondsToSelector:@selector(quattroWirelessEducationLevel)]) {
return NO;
}
else if (selector == @selector(birthdate:)
&& ![adWhirlDelegate respondsToSelector:@selector(dateOfBirth)]) {
return NO;
}
else if (selector == @selector(ethnicity:)
&& ![adWhirlDelegate respondsToSelector:@selector(quattroWirelessEthnicity)]) {
return NO;
}
return [super respondsToSelector:selector];
}
- (double)latitude:(QWAdView *)adView {
CLLocation *loc = [adWhirlDelegate locationInfo];
if (loc == nil) return 0.0;
return loc.coordinate.latitude;
}
- (double)longitude:(QWAdView *)adView {
CLLocation *loc = [adWhirlDelegate locationInfo];
if (loc == nil) return 0.0;
return loc.coordinate.longitude;
}
- (NSString *)zipcode:(QWAdView *)adView {
return [adWhirlDelegate postalCode];
}
- (NSUInteger)age:(QWAdView *)adView {
return [self helperCalculateAge];
}
- (QWGender)gender:(QWAdView *)adView {
NSString *gender = [adWhirlDelegate gender];
QWGender sex = QWGenderUnknown;
if (gender == nil)
return sex;
if ([gender compare:@"m"] == NSOrderedSame) {
sex = QWGenderMale;
}
else if ([gender compare:@"f"] == NSOrderedSame) {
sex = QWGenderFemale;
}
return sex;
}
- (NSUInteger)income:(QWAdView *)adView {
return [adWhirlDelegate incomeLevel];
}
- (QWEducationLevel)education:(QWAdView *)adView {
return [adWhirlDelegate quattroWirelessEducationLevel];
}
- (NSDate *)birthdate:(QWAdView *)adView {
return [adWhirlDelegate dateOfBirth];
}
- (QWEthnicity)ethnicity:(QWAdView *)adView {
return [adWhirlDelegate quattroWirelessEthnicity];
}
@end

View File

@@ -1,29 +0,0 @@
/*
AdWhirlAdapterVideoEgg.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
@interface AdWhirlAdapterVideoEgg : AdWhirlAdNetworkAdapter {
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,117 +0,0 @@
/*
AdWhirlAdapterVideoEgg.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterVideoEgg.h"
#import "AdWhirlView.h"
#import "AdWhirlConfig.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdFrameView.h"
#import "AdWhirlLog.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
@interface AdWhirlAdapterVideoEgg ()
- (void)loadSuccess:(NSNotification *)notification;
- (void)loadFailed:(NSNotification *)notification;
- (void)launchAd:(NSNotification *)notification;
- (void)closeAd:(NSNotification *)notification;
@end
@implementation AdWhirlAdapterVideoEgg
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeVideoEgg;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
AdFrameView *aw = [[AdFrameView alloc] init];
NSDictionary *credentials = [networkConfig credentials];
if ([adWhirlDelegate respondsToSelector:@selector(adWhirlTestMode)]
&& [adWhirlDelegate adWhirlTestMode]) {
credentials = [NSDictionary dictionaryWithObjectsAndKeys:
@"testpublisher", @"publisher",
@"testarea", @"area",
nil];
}
else if ([adWhirlDelegate respondsToSelector:@selector(videoEggConfigDictionary)]) {
credentials = [adWhirlDelegate videoEggConfigDictionary];
}
NSNotificationCenter *notifCenter = [NSNotificationCenter defaultCenter];
[notifCenter addObserver:self
selector:@selector(loadSuccess:)
name:kVELoadSuccess
object:aw];
[notifCenter addObserver:self
selector:@selector(loadFailed:)
name:kVELoadFailure
object:aw];
[notifCenter addObserver:self
selector:@selector(launchAd:)
name:kVELaunchedAd
object:aw];
[notifCenter addObserver:self
selector:@selector(closeAd:)
name:kVEClosedAd
object:aw];
VEConfig *config = [VEConfig dictionaryWithDictionary:credentials];
[aw requestAd:config];
self.adNetworkView = aw;
[aw release];
}
- (void)stopBeingDelegate {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)dealloc {
[super dealloc];
}
#pragma mark VideoEgg notification methods
- (void)loadSuccess:(NSNotification *)notification {
CGRect frame = CGRectMake(0,0,ADFRAME_BANNER_WIDTH, ADFRAME_BANNER_HEIGHT);
adNetworkView.frame = frame;
[adWhirlView adapter:self didReceiveAdView:adNetworkView];
}
- (void)loadFailed:(NSNotification *)notification {
[adWhirlView adapter:self didFailAd:nil];
}
- (void)launchAd:(NSNotification *)notification {
[self helperNotifyDelegateOfFullScreenModal];
}
- (void)closeAd:(NSNotification *)notification {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
@end

View File

@@ -1,32 +0,0 @@
/*
AdWhirlAdapterZestADZ.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdNetworkAdapter.h"
#import "ZestadzDelegateProtocal.h"
@class ZestadzView;
@interface AdWhirlAdapterZestADZ : AdWhirlAdNetworkAdapter <ZestadzDelegate> {
}
+ (AdWhirlAdNetworkType)networkType;
@end

View File

@@ -1,101 +0,0 @@
/*
AdWhirlAdapterZestADZ.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlAdapterZestADZ.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlView.h"
#import "ZestadzView.h"
#import "AdWhirlLog.h"
#import "AdWhirlAdNetworkAdapter+Helpers.h"
#import "AdWhirlAdNetworkRegistry.h"
@implementation AdWhirlAdapterZestADZ
+ (AdWhirlAdNetworkType)networkType {
return AdWhirlAdNetworkTypeZestADZ;
}
+ (void)load {
[[AdWhirlAdNetworkRegistry sharedRegistry] registerClass:self];
}
- (void)getAd {
ZestadzView *zestView = [ZestadzView requestAdWithDelegate:self];
self.adNetworkView = zestView;
}
- (void)stopBeingDelegate {
// no way to set zestView's delegate to nil
}
- (void)dealloc {
[super dealloc];
}
#pragma mark ZestadzDelegate required methods.
- (NSString *)clientId {
if ([adWhirlDelegate respondsToSelector:@selector(zestADZClientID)]) {
return [adWhirlDelegate zestADZClientID];
}
return networkConfig.pubId;
}
- (UIViewController *)currentViewController {
return [adWhirlDelegate viewControllerForPresentingModalView];
}
#pragma mark ZestadzDelegate notification methods
- (void)didReceiveAd:(ZestadzView *)adView {
[adWhirlView adapter:self didReceiveAdView:adView];
}
- (void)didFailToReceiveAd:(ZestadzView *)adView {
[adWhirlView adapter:self didFailAd:nil];
}
- (void)willPresentFullScreenModal {
[self helperNotifyDelegateOfFullScreenModal];
}
- (void)didDismissFullScreenModal {
[self helperNotifyDelegateOfFullScreenModalDismissal];
}
#pragma mark ZestadzDelegate config methods
- (UIColor *)adBackgroundColor {
if ([adWhirlDelegate respondsToSelector:@selector(adWhirlAdBackgroundColor)]) {
return [adWhirlDelegate adWhirlAdBackgroundColor];
}
return nil;
}
- (NSString *)keywords {
if ([adWhirlDelegate respondsToSelector:@selector(keywords)]) {
return [adWhirlDelegate keywords];
}
return @"iphone ipad ipod";
}
@end

View File

@@ -1,845 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
1D3623260D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; };
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */; };
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F335F01007B36200424DE2 /* RootViewController.xib */; };
A62A0D91118F830F0013A568 /* AdWhirlAdapterEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = A62A0D90118F830F0013A568 /* AdWhirlAdapterEvent.m */; };
A630FDE8110FB5C800D6740A /* BottomBannerController.m in Sources */ = {isa = PBXBuildFile; fileRef = A630FDE7110FB5C800D6740A /* BottomBannerController.m */; };
A630FDEC110FB6DB00D6740A /* BottomBannerController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A630FDEB110FB6DB00D6740A /* BottomBannerController.xib */; };
A63C952410A8762800E81577 /* TableController.m in Sources */ = {isa = PBXBuildFile; fileRef = A63C952210A8762800E81577 /* TableController.m */; };
A63C952710A8CCFF00E81577 /* TableController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A63C952610A8CCFF00E81577 /* TableController.xib */; };
A66424BE110F68250045DB6E /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A66424BD110F68250045DB6E /* AudioToolbox.framework */; };
A66424D2110F68C10045DB6E /* AdWhirlAdapterMdotM.m in Sources */ = {isa = PBXBuildFile; fileRef = A66424D1110F68C10045DB6E /* AdWhirlAdapterMdotM.m */; };
A66A01AE11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.m in Sources */ = {isa = PBXBuildFile; fileRef = A66A01AD11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.m */; };
A66A01B611B6C7E1001DFCF0 /* libGoogleAds.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A66A01B511B6C7E1001DFCF0 /* libGoogleAds.a */; };
A66A01D411B6C7FC001DFCF0 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A66A01D311B6C7FC001DFCF0 /* AVFoundation.framework */; };
A678692C1121D44F008E55E8 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A678692B1121D44F008E55E8 /* MapKit.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
A678692E1121D44F008E55E8 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A678692D1121D44F008E55E8 /* MessageUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
A67869FE1121EF30008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869F41121EF30008E55E8 /* libJumptapApi.a */; };
A67869FF1121EF30008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869F61121EF30008E55E8 /* libJumptapApi.a */; };
A6786A001121EF30008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869F91121EF30008E55E8 /* libJumptapApi.a */; };
A6786A011121EF30008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869FB1121EF30008E55E8 /* libJumptapApi.a */; };
A6786A8C112226A7008E55E8 /* LocationController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6786A8B112226A7008E55E8 /* LocationController.m */; };
A6786A8E112226B2008E55E8 /* LocationController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6786A8D112226B2008E55E8 /* LocationController.xib */; };
A6A324FB11593718008301A2 /* libMMSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6A324F911593718008301A2 /* libMMSDK.a */; };
A6B0CF5F10ACBFB900B29A14 /* adwhirlsample_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A6B0CF5E10ACBFB900B29A14 /* adwhirlsample_icon.png */; };
A6BF6FEA114AFE07005C95B8 /* ModalViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6BF6FE9114AFE07005C95B8 /* ModalViewController.xib */; };
A6BF6FED114AFE19005C95B8 /* ModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6BF6FEC114AFE19005C95B8 /* ModalViewController.m */; };
A6EC5B7410A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */; };
A6EC5B7510A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */; };
A6EC5B7610A4B0C60091B7F9 /* AdWhirlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */; };
A6EC5B7710A4B0C60091B7F9 /* AdWhirlCustomAdView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */; };
A6EC5B7810A4B0C60091B7F9 /* AdWhirlError.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */; };
A6EC5B7910A4B0C60091B7F9 /* AdWhirlLog.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */; };
A6EC5B7A10A4B0C60091B7F9 /* AdWhirlView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */; };
A6EC5B7B10A4B0C60091B7F9 /* AdWhirlWebBrowser.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */; };
A6EC5B7C10A4B0C60091B7F9 /* AdWhirlWebBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */; };
A6EC5B7D10A4B0C60091B7F9 /* ARRollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */; };
A6EC5BA710A4B18F0091B7F9 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */; };
A6EC5BCD10A4C30D0091B7F9 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */; };
A6EC5BE510A4C31C0091B7F9 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */; };
A6EC5BF810A4C3460091B7F9 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */; };
A6EC5C0B10A4C34F0091B7F9 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */; };
A6EC5C4F10A4C43F0091B7F9 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */; };
A6EC5C5310A4C4470091B7F9 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C5210A4C4470091B7F9 /* libz.dylib */; };
A6EC5C5E10A4C9900091B7F9 /* AdWhirlAdapterAdMob.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5510A4C9900091B7F9 /* AdWhirlAdapterAdMob.m */; };
A6EC5C5F10A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */; };
A6EC5C6010A4C9900091B7F9 /* AdWhirlAdapterMillennial.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */; };
A6EC5C6110A4C9900091B7F9 /* AdWhirlAdapterQuattro.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */; };
A6EC5C6210A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */; };
A6EC5C9210A4D52E0091B7F9 /* libAdFrame-X86.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C8E10A4D52E0091B7F9 /* libAdFrame-X86.a */; };
A6EC5CB910A4DCA00091B7F9 /* AdWhirlAdapterCustom.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */; };
A6EC5CBA10A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */; };
A6EC5CBB10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */; };
A6EC5CBC10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */; };
A6EC5D1A10A4EB710091B7F9 /* SimpleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */; };
A6EC5D2E10A4EBAB0091B7F9 /* SimpleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */; };
A6EC5DB710A507C00091B7F9 /* libAdFrame-ARM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C8810A4D52E0091B7F9 /* libAdFrame-ARM.a */; };
A6ED4965114F0307002C57E6 /* CDataScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4950114F0307002C57E6 /* CDataScanner.m */; };
A6ED4966114F0307002C57E6 /* CDataScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4953114F0307002C57E6 /* CDataScanner_Extensions.m */; };
A6ED4967114F0307002C57E6 /* NSCharacterSet_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4955114F0307002C57E6 /* NSCharacterSet_Extensions.m */; };
A6ED4968114F0307002C57E6 /* NSDictionary_JSONExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4957114F0307002C57E6 /* NSDictionary_JSONExtensions.m */; };
A6ED4969114F0307002C57E6 /* NSScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4959114F0307002C57E6 /* NSScanner_Extensions.m */; };
A6ED496A114F0307002C57E6 /* CJSONDataSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED495C114F0307002C57E6 /* CJSONDataSerializer.m */; };
A6ED496B114F0307002C57E6 /* CJSONDeserializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED495E114F0307002C57E6 /* CJSONDeserializer.m */; };
A6ED496C114F0307002C57E6 /* CJSONScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4960114F0307002C57E6 /* CJSONScanner.m */; };
A6ED496D114F0307002C57E6 /* CJSONSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4962114F0307002C57E6 /* CJSONSerializer.m */; };
A6ED496E114F0307002C57E6 /* CSerializedJSONData.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4964114F0307002C57E6 /* CSerializedJSONData.m */; };
A6ED4974114F03B3002C57E6 /* libAdMob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED4973114F03B3002C57E6 /* libAdMob.a */; };
A6F55CC31121CDDE0062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6F55CC11121CDDE0062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */; };
A6F55CC41121CDDE0062F368 /* libQuattroWireless3.1.0-os3.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6F55CC21121CDDE0062F368 /* libQuattroWireless3.1.0-os3.0.a */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D3623240D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlSDK2_SampleAppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlSDK2_SampleAppDelegate.m; sourceTree = "<group>"; };
1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AdWhirlSDK2.app; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
28A0AAE50D9B0CCF005BE974 /* AdWhirlSDK2_Sample_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlSDK2_Sample_Prefix.pch; sourceTree = "<group>"; };
28AD735F0D9D9599002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
28C286E00D94DF7D0034E888 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
28F335F01007B36200424DE2 /* RootViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RootViewController.xib; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* AdWhirlSDK2_Sample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "AdWhirlSDK2_Sample-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
A62A0D8F118F830F0013A568 /* AdWhirlAdapterEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterEvent.h; sourceTree = "<group>"; };
A62A0D90118F830F0013A568 /* AdWhirlAdapterEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterEvent.m; sourceTree = "<group>"; };
A630FDE6110FB5C800D6740A /* BottomBannerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomBannerController.h; sourceTree = "<group>"; };
A630FDE7110FB5C800D6740A /* BottomBannerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BottomBannerController.m; sourceTree = "<group>"; };
A630FDEB110FB6DB00D6740A /* BottomBannerController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BottomBannerController.xib; sourceTree = "<group>"; };
A63C952110A8762800E81577 /* TableController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableController.h; sourceTree = "<group>"; };
A63C952210A8762800E81577 /* TableController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableController.m; sourceTree = "<group>"; };
A63C952610A8CCFF00E81577 /* TableController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TableController.xib; sourceTree = "<group>"; };
A63C959610A8D6C000E81577 /* SampleConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleConstants.h; sourceTree = "<group>"; };
A66424BD110F68250045DB6E /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
A66424D0110F68C10045DB6E /* AdWhirlAdapterMdotM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMdotM.h; sourceTree = "<group>"; };
A66424D1110F68C10045DB6E /* AdWhirlAdapterMdotM.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMdotM.m; sourceTree = "<group>"; };
A66A01AC11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGoogleAdSense.h; sourceTree = "<group>"; };
A66A01AD11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGoogleAdSense.m; sourceTree = "<group>"; };
A66A01B011B6C7E1001DFCF0 /* GADAdSenseAudioParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADAdSenseAudioParameters.h; sourceTree = "<group>"; };
A66A01B111B6C7E1001DFCF0 /* GADAdSenseParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADAdSenseParameters.h; sourceTree = "<group>"; };
A66A01B211B6C7E1001DFCF0 /* GADAdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADAdViewController.h; sourceTree = "<group>"; };
A66A01B311B6C7E1001DFCF0 /* GADDoubleClickParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADDoubleClickParameters.h; sourceTree = "<group>"; };
A66A01B411B6C7E1001DFCF0 /* GADRequestError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADRequestError.h; sourceTree = "<group>"; };
A66A01B511B6C7E1001DFCF0 /* libGoogleAds.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGoogleAds.a; sourceTree = "<group>"; };
A66A01D311B6C7FC001DFCF0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
A678692B1121D44F008E55E8 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
A678692D1121D44F008E55E8 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
A67869F41121EF30008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869F61121EF30008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869F91121EF30008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869FB1121EF30008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869FC1121EF30008E55E8 /* JTAdWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JTAdWidget.h; sourceTree = "<group>"; };
A67869FD1121EF30008E55E8 /* JumpTapAppReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JumpTapAppReport.h; sourceTree = "<group>"; };
A6786A8A112226A7008E55E8 /* LocationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocationController.h; sourceTree = "<group>"; };
A6786A8B112226A7008E55E8 /* LocationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocationController.m; sourceTree = "<group>"; };
A6786A8D112226B2008E55E8 /* LocationController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LocationController.xib; sourceTree = "<group>"; };
A6953FC3116657DF00F099E5 /* MMAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMAdView.h; sourceTree = "<group>"; };
A6A324F911593718008301A2 /* libMMSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libMMSDK.a; sourceTree = "<group>"; };
A6B0CDC610AB38B700B29A14 /* QWAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWAd.h; sourceTree = "<group>"; };
A6B0CDC710AB38B700B29A14 /* QWAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWAdView.h; sourceTree = "<group>"; };
A6B0CDC810AB38B700B29A14 /* QWTestMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWTestMode.h; sourceTree = "<group>"; };
A6B0CF5E10ACBFB900B29A14 /* adwhirlsample_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = adwhirlsample_icon.png; sourceTree = "<group>"; };
A6BF6FE9114AFE07005C95B8 /* ModalViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ModalViewController.xib; sourceTree = "<group>"; };
A6BF6FEB114AFE19005C95B8 /* ModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModalViewController.h; sourceTree = "<group>"; };
A6BF6FEC114AFE19005C95B8 /* ModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ModalViewController.m; sourceTree = "<group>"; };
A6EC5B5010A4B0C60091B7F9 /* AdWhirlAdNetworkAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkAdapter.h; sourceTree = "<group>"; };
A6EC5B5210A4B0C60091B7F9 /* AdWhirlDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlDelegateProtocol.h; sourceTree = "<group>"; };
A6EC5B5310A4B0C60091B7F9 /* AdWhirlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlView.h; sourceTree = "<group>"; };
A6EC5B5510A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkConfig.h; sourceTree = "<group>"; };
A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkConfig.m; sourceTree = "<group>"; };
A6EC5B5710A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkRegistry.h; sourceTree = "<group>"; };
A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkRegistry.m; sourceTree = "<group>"; };
A6EC5B5910A4B0C60091B7F9 /* AdWhirlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlConfig.h; sourceTree = "<group>"; };
A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfig.m; sourceTree = "<group>"; };
A6EC5B5B10A4B0C60091B7F9 /* AdWhirlCustomAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlCustomAdView.h; sourceTree = "<group>"; };
A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlCustomAdView.m; sourceTree = "<group>"; };
A6EC5B5D10A4B0C60091B7F9 /* AdWhirlError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlError.h; sourceTree = "<group>"; };
A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlError.m; sourceTree = "<group>"; };
A6EC5B5F10A4B0C60091B7F9 /* AdWhirlLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlLog.h; sourceTree = "<group>"; };
A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlLog.m; sourceTree = "<group>"; };
A6EC5B6110A4B0C60091B7F9 /* AdWhirlView+.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlView+.h"; sourceTree = "<group>"; };
A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlView.m; sourceTree = "<group>"; };
A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AdWhirlWebBrowser.xib; sourceTree = "<group>"; };
A6EC5B6410A4B0C60091B7F9 /* AdWhirlWebBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlWebBrowserController.h; sourceTree = "<group>"; };
A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlWebBrowserController.m; sourceTree = "<group>"; };
A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRollerView.m; sourceTree = "<group>"; };
A6EC5B6810A4B0C60091B7F9 /* ARRollerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerProtocol.h; sourceTree = "<group>"; };
A6EC5B6910A4B0C60091B7F9 /* ARRollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerView.h; sourceTree = "<group>"; };
A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
A6EC5C5210A4C4470091B7F9 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
A6EC5C5410A4C9900091B7F9 /* AdWhirlAdapterAdMob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterAdMob.h; sourceTree = "<group>"; };
A6EC5C5510A4C9900091B7F9 /* AdWhirlAdapterAdMob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterAdMob.m; sourceTree = "<group>"; };
A6EC5C5610A4C9900091B7F9 /* AdWhirlAdapterJumpTap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterJumpTap.h; sourceTree = "<group>"; };
A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterJumpTap.m; sourceTree = "<group>"; };
A6EC5C5810A4C9900091B7F9 /* AdWhirlAdapterMillennial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMillennial.h; sourceTree = "<group>"; };
A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMillennial.m; sourceTree = "<group>"; };
A6EC5C5A10A4C9900091B7F9 /* AdWhirlAdapterQuattro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterQuattro.h; sourceTree = "<group>"; };
A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterQuattro.m; sourceTree = "<group>"; };
A6EC5C5C10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterVideoEgg.h; sourceTree = "<group>"; };
A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterVideoEgg.m; sourceTree = "<group>"; };
A6EC5C6710A4C9F70091B7F9 /* AdMobDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdMobDelegateProtocol.h; sourceTree = "<group>"; };
A6EC5C6810A4C9F70091B7F9 /* AdMobView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdMobView.h; sourceTree = "<group>"; };
A6EC5C8810A4D52E0091B7F9 /* libAdFrame-ARM.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libAdFrame-ARM.a"; sourceTree = "<group>"; };
A6EC5C8A10A4D52E0091B7F9 /* AdFrameConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdFrameConstants.h; sourceTree = "<group>"; };
A6EC5C8B10A4D52E0091B7F9 /* AdFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdFrameView.h; sourceTree = "<group>"; };
A6EC5C8E10A4D52E0091B7F9 /* libAdFrame-X86.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libAdFrame-X86.a"; sourceTree = "<group>"; };
A6EC5CB210A4DCA00091B7F9 /* AdWhirlAdapterCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterCustom.h; sourceTree = "<group>"; };
A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterCustom.m; sourceTree = "<group>"; };
A6EC5CB410A4DCA00091B7F9 /* AdWhirlAdapterGeneric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGeneric.h; sourceTree = "<group>"; };
A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGeneric.m; sourceTree = "<group>"; };
A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkAdapter.m; sourceTree = "<group>"; };
A6EC5CB710A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlAdNetworkAdapter+Helpers.h"; sourceTree = "<group>"; };
A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AdWhirlAdNetworkAdapter+Helpers.m"; sourceTree = "<group>"; };
A6EC5D1710A4EB710091B7F9 /* SimpleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleViewController.h; sourceTree = "<group>"; };
A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SimpleViewController.m; sourceTree = "<group>"; };
A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SimpleViewController.xib; sourceTree = "<group>"; };
A6ED494F114F0307002C57E6 /* CDataScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner.h; sourceTree = "<group>"; };
A6ED4950114F0307002C57E6 /* CDataScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner.m; sourceTree = "<group>"; };
A6ED4952114F0307002C57E6 /* CDataScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner_Extensions.h; sourceTree = "<group>"; };
A6ED4953114F0307002C57E6 /* CDataScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner_Extensions.m; sourceTree = "<group>"; };
A6ED4954114F0307002C57E6 /* NSCharacterSet_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSCharacterSet_Extensions.h; sourceTree = "<group>"; };
A6ED4955114F0307002C57E6 /* NSCharacterSet_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSCharacterSet_Extensions.m; sourceTree = "<group>"; };
A6ED4956114F0307002C57E6 /* NSDictionary_JSONExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDictionary_JSONExtensions.h; sourceTree = "<group>"; };
A6ED4957114F0307002C57E6 /* NSDictionary_JSONExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDictionary_JSONExtensions.m; sourceTree = "<group>"; };
A6ED4958114F0307002C57E6 /* NSScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSScanner_Extensions.h; sourceTree = "<group>"; };
A6ED4959114F0307002C57E6 /* NSScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSScanner_Extensions.m; sourceTree = "<group>"; };
A6ED495B114F0307002C57E6 /* CJSONDataSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDataSerializer.h; sourceTree = "<group>"; };
A6ED495C114F0307002C57E6 /* CJSONDataSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDataSerializer.m; sourceTree = "<group>"; };
A6ED495D114F0307002C57E6 /* CJSONDeserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDeserializer.h; sourceTree = "<group>"; };
A6ED495E114F0307002C57E6 /* CJSONDeserializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDeserializer.m; sourceTree = "<group>"; };
A6ED495F114F0307002C57E6 /* CJSONScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONScanner.h; sourceTree = "<group>"; };
A6ED4960114F0307002C57E6 /* CJSONScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONScanner.m; sourceTree = "<group>"; };
A6ED4961114F0307002C57E6 /* CJSONSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONSerializer.h; sourceTree = "<group>"; };
A6ED4962114F0307002C57E6 /* CJSONSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONSerializer.m; sourceTree = "<group>"; };
A6ED4963114F0307002C57E6 /* CSerializedJSONData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSerializedJSONData.h; sourceTree = "<group>"; };
A6ED4964114F0307002C57E6 /* CSerializedJSONData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CSerializedJSONData.m; sourceTree = "<group>"; };
A6ED4973114F03B3002C57E6 /* libAdMob.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAdMob.a; sourceTree = "<group>"; };
A6F55CC11121CDDE0062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libQuattroWireless-Simulator3.1.0-os3.0.a"; sourceTree = "<group>"; };
A6F55CC21121CDDE0062F368 /* libQuattroWireless3.1.0-os3.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libQuattroWireless3.1.0-os3.0.a"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */,
A6EC5BA710A4B18F0091B7F9 /* CoreLocation.framework in Frameworks */,
A6EC5BCD10A4C30D0091B7F9 /* AddressBook.framework in Frameworks */,
A6EC5BE510A4C31C0091B7F9 /* MediaPlayer.framework in Frameworks */,
A6EC5BF810A4C3460091B7F9 /* QuartzCore.framework in Frameworks */,
A6EC5C0B10A4C34F0091B7F9 /* SystemConfiguration.framework in Frameworks */,
A6EC5C4F10A4C43F0091B7F9 /* libsqlite3.dylib in Frameworks */,
A6EC5C5310A4C4470091B7F9 /* libz.dylib in Frameworks */,
A6EC5C9210A4D52E0091B7F9 /* libAdFrame-X86.a in Frameworks */,
A6EC5DB710A507C00091B7F9 /* libAdFrame-ARM.a in Frameworks */,
A66424BE110F68250045DB6E /* AudioToolbox.framework in Frameworks */,
A6F55CC31121CDDE0062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a in Frameworks */,
A6F55CC41121CDDE0062F368 /* libQuattroWireless3.1.0-os3.0.a in Frameworks */,
A678692C1121D44F008E55E8 /* MapKit.framework in Frameworks */,
A678692E1121D44F008E55E8 /* MessageUI.framework in Frameworks */,
A67869FE1121EF30008E55E8 /* libJumptapApi.a in Frameworks */,
A67869FF1121EF30008E55E8 /* libJumptapApi.a in Frameworks */,
A6786A001121EF30008E55E8 /* libJumptapApi.a in Frameworks */,
A6786A011121EF30008E55E8 /* libJumptapApi.a in Frameworks */,
A6A324FB11593718008301A2 /* libMMSDK.a in Frameworks */,
A6ED4974114F03B3002C57E6 /* libAdMob.a in Frameworks */,
A66A01B611B6C7E1001DFCF0 /* libGoogleAds.a in Frameworks */,
A66A01D411B6C7FC001DFCF0 /* AVFoundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
A6BF6FEB114AFE19005C95B8 /* ModalViewController.h */,
A6BF6FEC114AFE19005C95B8 /* ModalViewController.m */,
A6786A8A112226A7008E55E8 /* LocationController.h */,
A6786A8B112226A7008E55E8 /* LocationController.m */,
28C286DF0D94DF7D0034E888 /* RootViewController.h */,
28C286E00D94DF7D0034E888 /* RootViewController.m */,
1D3623240D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.h */,
1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */,
A6EC5D1710A4EB710091B7F9 /* SimpleViewController.h */,
A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */,
A630FDE6110FB5C800D6740A /* BottomBannerController.h */,
A630FDE7110FB5C800D6740A /* BottomBannerController.m */,
A63C952110A8762800E81577 /* TableController.h */,
A63C952210A8762800E81577 /* TableController.m */,
A63C959610A8D6C000E81577 /* SampleConstants.h */,
);
path = Classes;
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
A6EC5B3C10A4B0C60091B7F9 /* AdWhirl */,
A6EC5C6310A4C9A50091B7F9 /* AdNetworkLibs */,
A6ED494E114F0307002C57E6 /* TouchJSON */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = CustomTemplate;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
28A0AAE50D9B0CCF005BE974 /* AdWhirlSDK2_Sample_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
A6BF6FE9114AFE07005C95B8 /* ModalViewController.xib */,
A6786A8D112226B2008E55E8 /* LocationController.xib */,
A6B0CF5E10ACBFB900B29A14 /* adwhirlsample_icon.png */,
A63C952610A8CCFF00E81577 /* TableController.xib */,
A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */,
A630FDEB110FB6DB00D6740A /* BottomBannerController.xib */,
28F335F01007B36200424DE2 /* RootViewController.xib */,
28AD735F0D9D9599002E5188 /* MainWindow.xib */,
8D1107310486CEB800E47090 /* AdWhirlSDK2_Sample-Info.plist */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
1D30AB110D05D00D00671497 /* Foundation.framework */,
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */,
A66A01D311B6C7FC001DFCF0 /* AVFoundation.framework */,
A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */,
A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */,
A66424BD110F68250045DB6E /* AudioToolbox.framework */,
A678692B1121D44F008E55E8 /* MapKit.framework */,
A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */,
A678692D1121D44F008E55E8 /* MessageUI.framework */,
A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */,
A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */,
A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */,
A6EC5C5210A4C4470091B7F9 /* libz.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
};
A66A01AF11B6C7E1001DFCF0 /* GoogleAdSense */ = {
isa = PBXGroup;
children = (
A66A01B011B6C7E1001DFCF0 /* GADAdSenseAudioParameters.h */,
A66A01B111B6C7E1001DFCF0 /* GADAdSenseParameters.h */,
A66A01B211B6C7E1001DFCF0 /* GADAdViewController.h */,
A66A01B311B6C7E1001DFCF0 /* GADDoubleClickParameters.h */,
A66A01B411B6C7E1001DFCF0 /* GADRequestError.h */,
A66A01B511B6C7E1001DFCF0 /* libGoogleAds.a */,
);
name = GoogleAdSense;
path = ../AdNetworkLibs/GoogleAdSense;
sourceTree = SOURCE_ROOT;
};
A67869F11121EF30008E55E8 /* JumptapApi */ = {
isa = PBXGroup;
children = (
A67869F21121EF30008E55E8 /* 2.2.1 */,
A67869F71121EF30008E55E8 /* 3.0 */,
A67869FC1121EF30008E55E8 /* JTAdWidget.h */,
A67869FD1121EF30008E55E8 /* JumpTapAppReport.h */,
);
name = JumptapApi;
path = ../AdNetworkLibs/JumptapApi;
sourceTree = SOURCE_ROOT;
};
A67869F21121EF30008E55E8 /* 2.2.1 */ = {
isa = PBXGroup;
children = (
A67869F31121EF30008E55E8 /* iphoneos */,
A67869F51121EF30008E55E8 /* iphonesimulator */,
);
path = 2.2.1;
sourceTree = "<group>";
};
A67869F31121EF30008E55E8 /* iphoneos */ = {
isa = PBXGroup;
children = (
A67869F41121EF30008E55E8 /* libJumptapApi.a */,
);
path = iphoneos;
sourceTree = "<group>";
};
A67869F51121EF30008E55E8 /* iphonesimulator */ = {
isa = PBXGroup;
children = (
A67869F61121EF30008E55E8 /* libJumptapApi.a */,
);
path = iphonesimulator;
sourceTree = "<group>";
};
A67869F71121EF30008E55E8 /* 3.0 */ = {
isa = PBXGroup;
children = (
A67869F81121EF30008E55E8 /* iphoneos */,
A67869FA1121EF30008E55E8 /* iphonesimulator */,
);
path = 3.0;
sourceTree = "<group>";
};
A67869F81121EF30008E55E8 /* iphoneos */ = {
isa = PBXGroup;
children = (
A67869F91121EF30008E55E8 /* libJumptapApi.a */,
);
path = iphoneos;
sourceTree = "<group>";
};
A67869FA1121EF30008E55E8 /* iphonesimulator */ = {
isa = PBXGroup;
children = (
A67869FB1121EF30008E55E8 /* libJumptapApi.a */,
);
path = iphonesimulator;
sourceTree = "<group>";
};
A6B0CDC110AB38B700B29A14 /* QuattroWirelessLib */ = {
isa = PBXGroup;
children = (
A6F55CC11121CDDE0062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */,
A6F55CC21121CDDE0062F368 /* libQuattroWireless3.1.0-os3.0.a */,
A6B0CDC610AB38B700B29A14 /* QWAd.h */,
A6B0CDC710AB38B700B29A14 /* QWAdView.h */,
A6B0CDC810AB38B700B29A14 /* QWTestMode.h */,
);
name = QuattroWirelessLib;
path = ../AdNetworkLibs/QuattroWirelessLib;
sourceTree = SOURCE_ROOT;
};
A6EC5B3C10A4B0C60091B7F9 /* AdWhirl */ = {
isa = PBXGroup;
children = (
A6EC5B3D10A4B0C60091B7F9 /* adapters */,
A6EC5B5210A4B0C60091B7F9 /* AdWhirlDelegateProtocol.h */,
A6EC5B5310A4B0C60091B7F9 /* AdWhirlView.h */,
A6EC5B5410A4B0C60091B7F9 /* internal */,
A6EC5B6710A4B0C60091B7F9 /* legacy */,
);
name = AdWhirl;
path = ../AdWhirl;
sourceTree = SOURCE_ROOT;
};
A6EC5B3D10A4B0C60091B7F9 /* adapters */ = {
isa = PBXGroup;
children = (
A66A01AC11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.h */,
A66A01AD11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.m */,
A66424D0110F68C10045DB6E /* AdWhirlAdapterMdotM.h */,
A66424D1110F68C10045DB6E /* AdWhirlAdapterMdotM.m */,
A6EC5C5410A4C9900091B7F9 /* AdWhirlAdapterAdMob.h */,
A6EC5C5510A4C9900091B7F9 /* AdWhirlAdapterAdMob.m */,
A6EC5C5610A4C9900091B7F9 /* AdWhirlAdapterJumpTap.h */,
A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */,
A6EC5C5810A4C9900091B7F9 /* AdWhirlAdapterMillennial.h */,
A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */,
A6EC5C5A10A4C9900091B7F9 /* AdWhirlAdapterQuattro.h */,
A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */,
A6EC5C5C10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.h */,
A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */,
A6EC5B5010A4B0C60091B7F9 /* AdWhirlAdNetworkAdapter.h */,
);
path = adapters;
sourceTree = "<group>";
};
A6EC5B5410A4B0C60091B7F9 /* internal */ = {
isa = PBXGroup;
children = (
A62A0D8F118F830F0013A568 /* AdWhirlAdapterEvent.h */,
A62A0D90118F830F0013A568 /* AdWhirlAdapterEvent.m */,
A6EC5CB210A4DCA00091B7F9 /* AdWhirlAdapterCustom.h */,
A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */,
A6EC5CB410A4DCA00091B7F9 /* AdWhirlAdapterGeneric.h */,
A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */,
A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */,
A6EC5CB710A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.h */,
A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */,
A6EC5B5510A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.h */,
A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */,
A6EC5B5710A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.h */,
A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */,
A6EC5B5910A4B0C60091B7F9 /* AdWhirlConfig.h */,
A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */,
A6EC5B5B10A4B0C60091B7F9 /* AdWhirlCustomAdView.h */,
A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */,
A6EC5B5D10A4B0C60091B7F9 /* AdWhirlError.h */,
A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */,
A6EC5B5F10A4B0C60091B7F9 /* AdWhirlLog.h */,
A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */,
A6EC5B6110A4B0C60091B7F9 /* AdWhirlView+.h */,
A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */,
A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */,
A6EC5B6410A4B0C60091B7F9 /* AdWhirlWebBrowserController.h */,
A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */,
A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */,
);
path = internal;
sourceTree = "<group>";
};
A6EC5B6710A4B0C60091B7F9 /* legacy */ = {
isa = PBXGroup;
children = (
A6EC5B6810A4B0C60091B7F9 /* ARRollerProtocol.h */,
A6EC5B6910A4B0C60091B7F9 /* ARRollerView.h */,
);
path = legacy;
sourceTree = "<group>";
};
A6EC5C6310A4C9A50091B7F9 /* AdNetworkLibs */ = {
isa = PBXGroup;
children = (
A66A01AF11B6C7E1001DFCF0 /* GoogleAdSense */,
A67869F11121EF30008E55E8 /* JumptapApi */,
A6EC5C6610A4C9F70091B7F9 /* AdMob */,
A6EC5C7D10A4D4BF0091B7F9 /* MillennialMedia */,
A6B0CDC110AB38B700B29A14 /* QuattroWirelessLib */,
A6EC5C8510A4D52E0091B7F9 /* VEAdFrames.1.0.4_2.2 */,
);
name = AdNetworkLibs;
sourceTree = "<group>";
};
A6EC5C6610A4C9F70091B7F9 /* AdMob */ = {
isa = PBXGroup;
children = (
A6ED4973114F03B3002C57E6 /* libAdMob.a */,
A6EC5C6710A4C9F70091B7F9 /* AdMobDelegateProtocol.h */,
A6EC5C6810A4C9F70091B7F9 /* AdMobView.h */,
);
name = AdMob;
path = ../AdNetworkLibs/AdMob;
sourceTree = SOURCE_ROOT;
};
A6EC5C7D10A4D4BF0091B7F9 /* MillennialMedia */ = {
isa = PBXGroup;
children = (
A6953FC3116657DF00F099E5 /* MMAdView.h */,
A6A324F911593718008301A2 /* libMMSDK.a */,
);
name = MillennialMedia;
path = ../AdNetworkLibs/MillennialMedia;
sourceTree = SOURCE_ROOT;
};
A6EC5C8510A4D52E0091B7F9 /* VEAdFrames.1.0.4_2.2 */ = {
isa = PBXGroup;
children = (
A6EC5C8610A4D52E0091B7F9 /* ARM */,
A6EC5C8910A4D52E0091B7F9 /* include */,
A6EC5C8C10A4D52E0091B7F9 /* X86 */,
);
name = VEAdFrames.1.0.4_2.2;
path = ../AdNetworkLibs/VEAdFrames.1.0.4_2.2;
sourceTree = SOURCE_ROOT;
};
A6EC5C8610A4D52E0091B7F9 /* ARM */ = {
isa = PBXGroup;
children = (
A6EC5C8810A4D52E0091B7F9 /* libAdFrame-ARM.a */,
);
path = ARM;
sourceTree = "<group>";
};
A6EC5C8910A4D52E0091B7F9 /* include */ = {
isa = PBXGroup;
children = (
A6EC5C8A10A4D52E0091B7F9 /* AdFrameConstants.h */,
A6EC5C8B10A4D52E0091B7F9 /* AdFrameView.h */,
);
path = include;
sourceTree = "<group>";
};
A6EC5C8C10A4D52E0091B7F9 /* X86 */ = {
isa = PBXGroup;
children = (
A6EC5C8E10A4D52E0091B7F9 /* libAdFrame-X86.a */,
);
path = X86;
sourceTree = "<group>";
};
A6ED494E114F0307002C57E6 /* TouchJSON */ = {
isa = PBXGroup;
children = (
A6ED494F114F0307002C57E6 /* CDataScanner.h */,
A6ED4950114F0307002C57E6 /* CDataScanner.m */,
A6ED4951114F0307002C57E6 /* Extensions */,
A6ED495A114F0307002C57E6 /* JSON */,
);
name = TouchJSON;
path = ../TouchJSON;
sourceTree = SOURCE_ROOT;
};
A6ED4951114F0307002C57E6 /* Extensions */ = {
isa = PBXGroup;
children = (
A6ED4952114F0307002C57E6 /* CDataScanner_Extensions.h */,
A6ED4953114F0307002C57E6 /* CDataScanner_Extensions.m */,
A6ED4954114F0307002C57E6 /* NSCharacterSet_Extensions.h */,
A6ED4955114F0307002C57E6 /* NSCharacterSet_Extensions.m */,
A6ED4956114F0307002C57E6 /* NSDictionary_JSONExtensions.h */,
A6ED4957114F0307002C57E6 /* NSDictionary_JSONExtensions.m */,
A6ED4958114F0307002C57E6 /* NSScanner_Extensions.h */,
A6ED4959114F0307002C57E6 /* NSScanner_Extensions.m */,
);
path = Extensions;
sourceTree = "<group>";
};
A6ED495A114F0307002C57E6 /* JSON */ = {
isa = PBXGroup;
children = (
A6ED495B114F0307002C57E6 /* CJSONDataSerializer.h */,
A6ED495C114F0307002C57E6 /* CJSONDataSerializer.m */,
A6ED495D114F0307002C57E6 /* CJSONDeserializer.h */,
A6ED495E114F0307002C57E6 /* CJSONDeserializer.m */,
A6ED495F114F0307002C57E6 /* CJSONScanner.h */,
A6ED4960114F0307002C57E6 /* CJSONScanner.m */,
A6ED4961114F0307002C57E6 /* CJSONSerializer.h */,
A6ED4962114F0307002C57E6 /* CJSONSerializer.m */,
A6ED4963114F0307002C57E6 /* CSerializedJSONData.h */,
A6ED4964114F0307002C57E6 /* CSerializedJSONData.m */,
);
path = JSON;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D6058900D05DD3D006BFB54 /* AdWhirlSDK2_Sample */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "AdWhirlSDK2_Sample" */;
buildPhases = (
1D60588D0D05DD3D006BFB54 /* Resources */,
1D60588E0D05DD3D006BFB54 /* Sources */,
1D60588F0D05DD3D006BFB54 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = AdWhirlSDK2_Sample;
productName = AdWhirlSDK2_Sample;
productReference = 1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlSDK2_Sample-2_1_1" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
en,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
projectDirPath = "";
projectRoot = "";
targets = (
1D6058900D05DD3D006BFB54 /* AdWhirlSDK2_Sample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1D60588D0D05DD3D006BFB54 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */,
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */,
A6EC5B7B10A4B0C60091B7F9 /* AdWhirlWebBrowser.xib in Resources */,
A6EC5D2E10A4EBAB0091B7F9 /* SimpleViewController.xib in Resources */,
A63C952710A8CCFF00E81577 /* TableController.xib in Resources */,
A6B0CF5F10ACBFB900B29A14 /* adwhirlsample_icon.png in Resources */,
A630FDEC110FB6DB00D6740A /* BottomBannerController.xib in Resources */,
A6786A8E112226B2008E55E8 /* LocationController.xib in Resources */,
A6BF6FEA114AFE07005C95B8 /* ModalViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1D60588E0D05DD3D006BFB54 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
1D3623260D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m in Sources */,
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */,
A6EC5B7410A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m in Sources */,
A6EC5B7510A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m in Sources */,
A6EC5B7610A4B0C60091B7F9 /* AdWhirlConfig.m in Sources */,
A6EC5B7710A4B0C60091B7F9 /* AdWhirlCustomAdView.m in Sources */,
A6EC5B7810A4B0C60091B7F9 /* AdWhirlError.m in Sources */,
A6EC5B7910A4B0C60091B7F9 /* AdWhirlLog.m in Sources */,
A6EC5B7A10A4B0C60091B7F9 /* AdWhirlView.m in Sources */,
A6EC5B7C10A4B0C60091B7F9 /* AdWhirlWebBrowserController.m in Sources */,
A6EC5B7D10A4B0C60091B7F9 /* ARRollerView.m in Sources */,
A6EC5C5E10A4C9900091B7F9 /* AdWhirlAdapterAdMob.m in Sources */,
A6EC5C5F10A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m in Sources */,
A6EC5C6010A4C9900091B7F9 /* AdWhirlAdapterMillennial.m in Sources */,
A6EC5C6110A4C9900091B7F9 /* AdWhirlAdapterQuattro.m in Sources */,
A6EC5C6210A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m in Sources */,
A6EC5CB910A4DCA00091B7F9 /* AdWhirlAdapterCustom.m in Sources */,
A6EC5CBA10A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m in Sources */,
A6EC5CBB10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m in Sources */,
A6EC5CBC10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */,
A6EC5D1A10A4EB710091B7F9 /* SimpleViewController.m in Sources */,
A63C952410A8762800E81577 /* TableController.m in Sources */,
A66424D2110F68C10045DB6E /* AdWhirlAdapterMdotM.m in Sources */,
A630FDE8110FB5C800D6740A /* BottomBannerController.m in Sources */,
A6786A8C112226A7008E55E8 /* LocationController.m in Sources */,
A6BF6FED114AFE19005C95B8 /* ModalViewController.m in Sources */,
A6ED4965114F0307002C57E6 /* CDataScanner.m in Sources */,
A6ED4966114F0307002C57E6 /* CDataScanner_Extensions.m in Sources */,
A6ED4967114F0307002C57E6 /* NSCharacterSet_Extensions.m in Sources */,
A6ED4968114F0307002C57E6 /* NSDictionary_JSONExtensions.m in Sources */,
A6ED4969114F0307002C57E6 /* NSScanner_Extensions.m in Sources */,
A6ED496A114F0307002C57E6 /* CJSONDataSerializer.m in Sources */,
A6ED496B114F0307002C57E6 /* CJSONDeserializer.m in Sources */,
A6ED496C114F0307002C57E6 /* CJSONScanner.m in Sources */,
A6ED496D114F0307002C57E6 /* CJSONSerializer.m in Sources */,
A6ED496E114F0307002C57E6 /* CSerializedJSONData.m in Sources */,
A62A0D91118F830F0013A568 /* AdWhirlAdapterEvent.m in Sources */,
A66A01AE11B6C7AC001DFCF0 /* AdWhirlAdapterGoogleAdSense.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlSDK2_Sample_Prefix.pch;
INFOPLIST_FILE = "AdWhirlSDK2_Sample-Info.plist";
LIBRARY_SEARCH_PATHS = (
"\"$(SRCROOT)/../AdNetworkLibs/AdMob\"",
"\"$(SRCROOT)/../AdNetworkLibs/QuattroWirelessLib\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/ARM\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/X86\"",
"\"$(SRCROOT)/../AdNetworkLibs/JumptapApi/$(IPHONEOS_DEPLOYMENT_TARGET)/$(PLATFORM_NAME)/\"",
"\"$(SRCROOT)/../AdNetworkLibs/MillennialMedia\"",
"\"$(SRCROOT)/../AdNetworkLibs/GoogleAdSense\"",
);
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = AdWhirlSDK2;
};
name = Debug;
};
1D6058950D05DD3E006BFB54 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlSDK2_Sample_Prefix.pch;
INFOPLIST_FILE = "AdWhirlSDK2_Sample-Info.plist";
LIBRARY_SEARCH_PATHS = (
"\"$(SRCROOT)/../AdNetworkLibs/AdMob\"",
"\"$(SRCROOT)/../AdNetworkLibs/QuattroWirelessLib\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/ARM\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/X86\"",
"\"$(SRCROOT)/../AdNetworkLibs/JumptapApi/$(IPHONEOS_DEPLOYMENT_TARGET)/$(PLATFORM_NAME)/\"",
"\"$(SRCROOT)/../AdNetworkLibs/MillennialMedia\"",
"\"$(SRCROOT)/../AdNetworkLibs/GoogleAdSense\"",
);
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = AdWhirlSDK2;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_PREPROCESSOR_DEFINITIONS = "ADWHIRL_DEBUG=1";
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 2.2.1;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos3.0;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 2.2.1;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos3.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "AdWhirlSDK2_Sample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D6058940D05DD3E006BFB54 /* Debug */,
1D6058950D05DD3E006BFB54 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlSDK2_Sample-2_1_1" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View File

@@ -1,841 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
1D3623260D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; };
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */; };
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F335F01007B36200424DE2 /* RootViewController.xib */; };
A615C26A11B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.m in Sources */ = {isa = PBXBuildFile; fileRef = A615C26911B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.m */; };
A615C27811B5DEDD00E0C50F /* libGoogleAds.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A615C27711B5DEDD00E0C50F /* libGoogleAds.a */; };
A61E1BA711B6213700D0DD65 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A61E1BA611B6213700D0DD65 /* AVFoundation.framework */; };
A61F580C110F698700444E50 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A61F580B110F698700444E50 /* AudioToolbox.framework */; };
A62A0D36118F7D810013A568 /* AdWhirlAdapterEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = A62A0D35118F7D810013A568 /* AdWhirlAdapterEvent.m */; };
A630FD61110FABAB00D6740A /* BottomBannerController.m in Sources */ = {isa = PBXBuildFile; fileRef = A630FD5F110FABAB00D6740A /* BottomBannerController.m */; };
A630FDAA110FB3E700D6740A /* BottomBannerController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A630FDA9110FB3E700D6740A /* BottomBannerController.xib */; };
A63C952410A8762800E81577 /* TableController.m in Sources */ = {isa = PBXBuildFile; fileRef = A63C952210A8762800E81577 /* TableController.m */; };
A63C952710A8CCFF00E81577 /* TableController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A63C952610A8CCFF00E81577 /* TableController.xib */; };
A67869C61121E5C1008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869BC1121E5C1008E55E8 /* libJumptapApi.a */; };
A67869C71121E5C1008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869BE1121E5C1008E55E8 /* libJumptapApi.a */; };
A67869C81121E5C1008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869C11121E5C1008E55E8 /* libJumptapApi.a */; };
A67869C91121E5C1008E55E8 /* libJumptapApi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A67869C31121E5C1008E55E8 /* libJumptapApi.a */; };
A690297D11458AE200F2E41D /* libAdMob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A690297C11458AE200F2E41D /* libAdMob.a */; };
A6A7997D1120D36A00A00FD8 /* LocationController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6A7997C1120D36A00A00FD8 /* LocationController.m */; };
A6A7998D1120D69600A00FD8 /* LocationController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6A7998C1120D69600A00FD8 /* LocationController.xib */; };
A6B0CF2C10ACBD8900B29A14 /* adwhirlsample_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A6B0CF2B10ACBD8900B29A14 /* adwhirlsample_icon.png */; };
A6B9860E11484CF2001B2F2B /* AdWhirlAdapterAdMob.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5510A4C9900091B7F9 /* AdWhirlAdapterAdMob.m */; };
A6B9860F11484CF3001B2F2B /* AdWhirlAdapterJumpTap.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */; };
A6B9861011484CF4001B2F2B /* AdWhirlAdapterMdotM.m in Sources */ = {isa = PBXBuildFile; fileRef = A6CB6844110E3B6800B24288 /* AdWhirlAdapterMdotM.m */; };
A6B9861111484CF4001B2F2B /* AdWhirlAdapterMillennial.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */; };
A6B9861211484CF5001B2F2B /* AdWhirlAdapterQuattro.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */; };
A6B9861311484CF6001B2F2B /* AdWhirlAdapterVideoEgg.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */; };
A6BF7002114B0F9A005C95B8 /* libMMSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6BF7001114B0F9A005C95B8 /* libMMSDK.a */; };
A6EC5B7410A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */; };
A6EC5B7510A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */; };
A6EC5B7610A4B0C60091B7F9 /* AdWhirlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */; };
A6EC5B7710A4B0C60091B7F9 /* AdWhirlCustomAdView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */; };
A6EC5B7810A4B0C60091B7F9 /* AdWhirlError.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */; };
A6EC5B7910A4B0C60091B7F9 /* AdWhirlLog.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */; };
A6EC5B7A10A4B0C60091B7F9 /* AdWhirlView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */; };
A6EC5B7B10A4B0C60091B7F9 /* AdWhirlWebBrowser.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */; };
A6EC5B7C10A4B0C60091B7F9 /* AdWhirlWebBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */; };
A6EC5B7D10A4B0C60091B7F9 /* ARRollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */; };
A6EC5BA710A4B18F0091B7F9 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */; };
A6EC5BCD10A4C30D0091B7F9 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */; };
A6EC5BDC10A4C3150091B7F9 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BDB10A4C3150091B7F9 /* MapKit.framework */; };
A6EC5BE510A4C31C0091B7F9 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */; };
A6EC5BF310A4C3400091B7F9 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BF210A4C3400091B7F9 /* MessageUI.framework */; };
A6EC5BF810A4C3460091B7F9 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */; };
A6EC5C0B10A4C34F0091B7F9 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */; };
A6EC5C4F10A4C43F0091B7F9 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */; };
A6EC5C5310A4C4470091B7F9 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C5210A4C4470091B7F9 /* libz.dylib */; };
A6EC5C9210A4D52E0091B7F9 /* libAdFrame-X86.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C8E10A4D52E0091B7F9 /* libAdFrame-X86.a */; };
A6EC5CB910A4DCA00091B7F9 /* AdWhirlAdapterCustom.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */; };
A6EC5CBA10A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */; };
A6EC5CBB10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */; };
A6EC5CBC10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */; };
A6EC5D1A10A4EB710091B7F9 /* SimpleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */; };
A6EC5D2E10A4EBAB0091B7F9 /* SimpleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */; };
A6EC5DB710A507C00091B7F9 /* libAdFrame-ARM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C8810A4D52E0091B7F9 /* libAdFrame-ARM.a */; };
A6ED4928114F0131002C57E6 /* CDataScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4913114F0131002C57E6 /* CDataScanner.m */; };
A6ED4929114F0131002C57E6 /* CDataScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4916114F0131002C57E6 /* CDataScanner_Extensions.m */; };
A6ED492A114F0131002C57E6 /* NSCharacterSet_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4918114F0131002C57E6 /* NSCharacterSet_Extensions.m */; };
A6ED492B114F0131002C57E6 /* NSDictionary_JSONExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED491A114F0131002C57E6 /* NSDictionary_JSONExtensions.m */; };
A6ED492C114F0131002C57E6 /* NSScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED491C114F0131002C57E6 /* NSScanner_Extensions.m */; };
A6ED492D114F0131002C57E6 /* CJSONDataSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED491F114F0131002C57E6 /* CJSONDataSerializer.m */; };
A6ED492E114F0131002C57E6 /* CJSONDeserializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4921114F0131002C57E6 /* CJSONDeserializer.m */; };
A6ED492F114F0131002C57E6 /* CJSONScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4923114F0131002C57E6 /* CJSONScanner.m */; };
A6ED4930114F0131002C57E6 /* CJSONSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4925114F0131002C57E6 /* CJSONSerializer.m */; };
A6ED4931114F0131002C57E6 /* CSerializedJSONData.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4927114F0131002C57E6 /* CSerializedJSONData.m */; };
A6F55C6C1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6F55C6A1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */; };
A6F55C6D1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6F55C6B1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a */; };
A6F6CC7A1149A8B500DFFFEA /* ModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6F6CC781149A8B500DFFFEA /* ModalViewController.m */; };
A6F6CC7B1149A8B500DFFFEA /* ModalViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6F6CC791149A8B500DFFFEA /* ModalViewController.xib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D3623240D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlSDK2_SampleAppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlSDK2_SampleAppDelegate.m; sourceTree = "<group>"; };
1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AdWhirlSDK2.app; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
28A0AAE50D9B0CCF005BE974 /* AdWhirlSDK2_Sample_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlSDK2_Sample_Prefix.pch; sourceTree = "<group>"; };
28AD735F0D9D9599002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
28C286E00D94DF7D0034E888 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
28F335F01007B36200424DE2 /* RootViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RootViewController.xib; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* AdWhirlSDK2_Sample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "AdWhirlSDK2_Sample-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
A615C26811B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGoogleAdSense.h; sourceTree = "<group>"; };
A615C26911B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGoogleAdSense.m; sourceTree = "<group>"; };
A615C27211B5DEDD00E0C50F /* GADAdSenseAudioParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADAdSenseAudioParameters.h; sourceTree = "<group>"; };
A615C27311B5DEDD00E0C50F /* GADAdSenseParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADAdSenseParameters.h; sourceTree = "<group>"; };
A615C27411B5DEDD00E0C50F /* GADAdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADAdViewController.h; sourceTree = "<group>"; };
A615C27511B5DEDD00E0C50F /* GADDoubleClickParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADDoubleClickParameters.h; sourceTree = "<group>"; };
A615C27611B5DEDD00E0C50F /* GADRequestError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADRequestError.h; sourceTree = "<group>"; };
A615C27711B5DEDD00E0C50F /* libGoogleAds.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGoogleAds.a; sourceTree = "<group>"; };
A61E1BA611B6213700D0DD65 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
A61F580B110F698700444E50 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
A62A0D34118F7D810013A568 /* AdWhirlAdapterEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterEvent.h; sourceTree = "<group>"; };
A62A0D35118F7D810013A568 /* AdWhirlAdapterEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterEvent.m; sourceTree = "<group>"; };
A630FD5E110FABAB00D6740A /* BottomBannerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomBannerController.h; sourceTree = "<group>"; };
A630FD5F110FABAB00D6740A /* BottomBannerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BottomBannerController.m; sourceTree = "<group>"; };
A630FDA9110FB3E700D6740A /* BottomBannerController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BottomBannerController.xib; sourceTree = "<group>"; };
A63C952110A8762800E81577 /* TableController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableController.h; sourceTree = "<group>"; };
A63C952210A8762800E81577 /* TableController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableController.m; sourceTree = "<group>"; };
A63C952610A8CCFF00E81577 /* TableController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TableController.xib; sourceTree = "<group>"; };
A63C959610A8D6C000E81577 /* SampleConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleConstants.h; sourceTree = "<group>"; };
A67869BC1121E5C1008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869BE1121E5C1008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869C11121E5C1008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869C31121E5C1008E55E8 /* libJumptapApi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libJumptapApi.a; sourceTree = "<group>"; };
A67869C41121E5C1008E55E8 /* JTAdWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JTAdWidget.h; sourceTree = "<group>"; };
A67869C51121E5C1008E55E8 /* JumpTapAppReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JumpTapAppReport.h; sourceTree = "<group>"; };
A67F2A601162949700E0278D /* MMAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMAdView.h; sourceTree = "<group>"; };
A690297A11458AA000F2E41D /* AdMobDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdMobDelegateProtocol.h; sourceTree = "<group>"; };
A690297B11458ABF00F2E41D /* AdMobView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdMobView.h; sourceTree = "<group>"; };
A690297C11458AE200F2E41D /* libAdMob.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAdMob.a; sourceTree = "<group>"; };
A6A7997B1120D36A00A00FD8 /* LocationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocationController.h; sourceTree = "<group>"; };
A6A7997C1120D36A00A00FD8 /* LocationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocationController.m; sourceTree = "<group>"; };
A6A7998C1120D69600A00FD8 /* LocationController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LocationController.xib; sourceTree = "<group>"; };
A6B0CF2B10ACBD8900B29A14 /* adwhirlsample_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = adwhirlsample_icon.png; sourceTree = "<group>"; };
A6BF7001114B0F9A005C95B8 /* libMMSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMMSDK.a; path = ../../third_party_libs/iphone/MillennialMedia/libMMSDK.a; sourceTree = SOURCE_ROOT; };
A6CB6843110E3B6800B24288 /* AdWhirlAdapterMdotM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMdotM.h; sourceTree = "<group>"; };
A6CB6844110E3B6800B24288 /* AdWhirlAdapterMdotM.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMdotM.m; sourceTree = "<group>"; };
A6EC5B5010A4B0C60091B7F9 /* AdWhirlAdNetworkAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkAdapter.h; sourceTree = "<group>"; };
A6EC5B5210A4B0C60091B7F9 /* AdWhirlDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlDelegateProtocol.h; sourceTree = "<group>"; };
A6EC5B5310A4B0C60091B7F9 /* AdWhirlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlView.h; sourceTree = "<group>"; };
A6EC5B5510A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkConfig.h; sourceTree = "<group>"; };
A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkConfig.m; sourceTree = "<group>"; };
A6EC5B5710A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkRegistry.h; sourceTree = "<group>"; };
A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkRegistry.m; sourceTree = "<group>"; };
A6EC5B5910A4B0C60091B7F9 /* AdWhirlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlConfig.h; sourceTree = "<group>"; };
A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfig.m; sourceTree = "<group>"; };
A6EC5B5B10A4B0C60091B7F9 /* AdWhirlCustomAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlCustomAdView.h; sourceTree = "<group>"; };
A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlCustomAdView.m; sourceTree = "<group>"; };
A6EC5B5D10A4B0C60091B7F9 /* AdWhirlError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlError.h; sourceTree = "<group>"; };
A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlError.m; sourceTree = "<group>"; };
A6EC5B5F10A4B0C60091B7F9 /* AdWhirlLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlLog.h; sourceTree = "<group>"; };
A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlLog.m; sourceTree = "<group>"; };
A6EC5B6110A4B0C60091B7F9 /* AdWhirlView+.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlView+.h"; sourceTree = "<group>"; };
A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlView.m; sourceTree = "<group>"; };
A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AdWhirlWebBrowser.xib; sourceTree = "<group>"; };
A6EC5B6410A4B0C60091B7F9 /* AdWhirlWebBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlWebBrowserController.h; sourceTree = "<group>"; };
A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlWebBrowserController.m; sourceTree = "<group>"; };
A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRollerView.m; sourceTree = "<group>"; };
A6EC5B6810A4B0C60091B7F9 /* ARRollerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerProtocol.h; sourceTree = "<group>"; };
A6EC5B6910A4B0C60091B7F9 /* ARRollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerView.h; sourceTree = "<group>"; };
A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
A6EC5BDB10A4C3150091B7F9 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
A6EC5BF210A4C3400091B7F9 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
A6EC5C5210A4C4470091B7F9 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
A6EC5C5410A4C9900091B7F9 /* AdWhirlAdapterAdMob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterAdMob.h; sourceTree = "<group>"; };
A6EC5C5510A4C9900091B7F9 /* AdWhirlAdapterAdMob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterAdMob.m; sourceTree = "<group>"; };
A6EC5C5610A4C9900091B7F9 /* AdWhirlAdapterJumpTap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterJumpTap.h; sourceTree = "<group>"; };
A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterJumpTap.m; sourceTree = "<group>"; };
A6EC5C5810A4C9900091B7F9 /* AdWhirlAdapterMillennial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMillennial.h; sourceTree = "<group>"; };
A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMillennial.m; sourceTree = "<group>"; };
A6EC5C5A10A4C9900091B7F9 /* AdWhirlAdapterQuattro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterQuattro.h; sourceTree = "<group>"; };
A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterQuattro.m; sourceTree = "<group>"; };
A6EC5C5C10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterVideoEgg.h; sourceTree = "<group>"; };
A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterVideoEgg.m; sourceTree = "<group>"; };
A6EC5C7810A4D4500091B7F9 /* QWAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWAd.h; sourceTree = "<group>"; };
A6EC5C7910A4D4500091B7F9 /* QWAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWAdView.h; sourceTree = "<group>"; };
A6EC5C7A10A4D4500091B7F9 /* QWTestMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWTestMode.h; sourceTree = "<group>"; };
A6EC5C8810A4D52E0091B7F9 /* libAdFrame-ARM.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libAdFrame-ARM.a"; sourceTree = "<group>"; };
A6EC5C8A10A4D52E0091B7F9 /* AdFrameConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdFrameConstants.h; sourceTree = "<group>"; };
A6EC5C8B10A4D52E0091B7F9 /* AdFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdFrameView.h; sourceTree = "<group>"; };
A6EC5C8E10A4D52E0091B7F9 /* libAdFrame-X86.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libAdFrame-X86.a"; sourceTree = "<group>"; };
A6EC5CB210A4DCA00091B7F9 /* AdWhirlAdapterCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterCustom.h; sourceTree = "<group>"; };
A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterCustom.m; sourceTree = "<group>"; };
A6EC5CB410A4DCA00091B7F9 /* AdWhirlAdapterGeneric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGeneric.h; sourceTree = "<group>"; };
A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGeneric.m; sourceTree = "<group>"; };
A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkAdapter.m; sourceTree = "<group>"; };
A6EC5CB710A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlAdNetworkAdapter+Helpers.h"; sourceTree = "<group>"; };
A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AdWhirlAdNetworkAdapter+Helpers.m"; sourceTree = "<group>"; };
A6EC5D1710A4EB710091B7F9 /* SimpleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleViewController.h; sourceTree = "<group>"; };
A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SimpleViewController.m; sourceTree = "<group>"; };
A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SimpleViewController.xib; sourceTree = "<group>"; };
A6ED4912114F0131002C57E6 /* CDataScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner.h; sourceTree = "<group>"; };
A6ED4913114F0131002C57E6 /* CDataScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner.m; sourceTree = "<group>"; };
A6ED4915114F0131002C57E6 /* CDataScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner_Extensions.h; sourceTree = "<group>"; };
A6ED4916114F0131002C57E6 /* CDataScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner_Extensions.m; sourceTree = "<group>"; };
A6ED4917114F0131002C57E6 /* NSCharacterSet_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSCharacterSet_Extensions.h; sourceTree = "<group>"; };
A6ED4918114F0131002C57E6 /* NSCharacterSet_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSCharacterSet_Extensions.m; sourceTree = "<group>"; };
A6ED4919114F0131002C57E6 /* NSDictionary_JSONExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDictionary_JSONExtensions.h; sourceTree = "<group>"; };
A6ED491A114F0131002C57E6 /* NSDictionary_JSONExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDictionary_JSONExtensions.m; sourceTree = "<group>"; };
A6ED491B114F0131002C57E6 /* NSScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSScanner_Extensions.h; sourceTree = "<group>"; };
A6ED491C114F0131002C57E6 /* NSScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSScanner_Extensions.m; sourceTree = "<group>"; };
A6ED491E114F0131002C57E6 /* CJSONDataSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDataSerializer.h; sourceTree = "<group>"; };
A6ED491F114F0131002C57E6 /* CJSONDataSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDataSerializer.m; sourceTree = "<group>"; };
A6ED4920114F0131002C57E6 /* CJSONDeserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDeserializer.h; sourceTree = "<group>"; };
A6ED4921114F0131002C57E6 /* CJSONDeserializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDeserializer.m; sourceTree = "<group>"; };
A6ED4922114F0131002C57E6 /* CJSONScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONScanner.h; sourceTree = "<group>"; };
A6ED4923114F0131002C57E6 /* CJSONScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONScanner.m; sourceTree = "<group>"; };
A6ED4924114F0131002C57E6 /* CJSONSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONSerializer.h; sourceTree = "<group>"; };
A6ED4925114F0131002C57E6 /* CJSONSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONSerializer.m; sourceTree = "<group>"; };
A6ED4926114F0131002C57E6 /* CSerializedJSONData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSerializedJSONData.h; sourceTree = "<group>"; };
A6ED4927114F0131002C57E6 /* CSerializedJSONData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CSerializedJSONData.m; sourceTree = "<group>"; };
A6F55C6A1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libQuattroWireless-Simulator3.1.0-os3.0.a"; sourceTree = "<group>"; };
A6F55C6B1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libQuattroWireless3.1.0-os3.0.a"; sourceTree = "<group>"; };
A6F6CC771149A8B500DFFFEA /* ModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModalViewController.h; sourceTree = "<group>"; };
A6F6CC781149A8B500DFFFEA /* ModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ModalViewController.m; sourceTree = "<group>"; };
A6F6CC791149A8B500DFFFEA /* ModalViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ModalViewController.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */,
A6EC5BA710A4B18F0091B7F9 /* CoreLocation.framework in Frameworks */,
A6EC5BCD10A4C30D0091B7F9 /* AddressBook.framework in Frameworks */,
A6EC5BDC10A4C3150091B7F9 /* MapKit.framework in Frameworks */,
A6EC5BE510A4C31C0091B7F9 /* MediaPlayer.framework in Frameworks */,
A6EC5BF310A4C3400091B7F9 /* MessageUI.framework in Frameworks */,
A6EC5BF810A4C3460091B7F9 /* QuartzCore.framework in Frameworks */,
A6EC5C0B10A4C34F0091B7F9 /* SystemConfiguration.framework in Frameworks */,
A6EC5C4F10A4C43F0091B7F9 /* libsqlite3.dylib in Frameworks */,
A6EC5C5310A4C4470091B7F9 /* libz.dylib in Frameworks */,
A6EC5C9210A4D52E0091B7F9 /* libAdFrame-X86.a in Frameworks */,
A6EC5DB710A507C00091B7F9 /* libAdFrame-ARM.a in Frameworks */,
A61F580C110F698700444E50 /* AudioToolbox.framework in Frameworks */,
A6F55C6C1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a in Frameworks */,
A6F55C6D1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a in Frameworks */,
A67869C61121E5C1008E55E8 /* libJumptapApi.a in Frameworks */,
A67869C71121E5C1008E55E8 /* libJumptapApi.a in Frameworks */,
A67869C81121E5C1008E55E8 /* libJumptapApi.a in Frameworks */,
A67869C91121E5C1008E55E8 /* libJumptapApi.a in Frameworks */,
A6BF7002114B0F9A005C95B8 /* libMMSDK.a in Frameworks */,
A690297D11458AE200F2E41D /* libAdMob.a in Frameworks */,
A615C27811B5DEDD00E0C50F /* libGoogleAds.a in Frameworks */,
A61E1BA711B6213700D0DD65 /* AVFoundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
28C286DF0D94DF7D0034E888 /* RootViewController.h */,
28C286E00D94DF7D0034E888 /* RootViewController.m */,
1D3623240D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.h */,
1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */,
A6EC5D1710A4EB710091B7F9 /* SimpleViewController.h */,
A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */,
A63C952110A8762800E81577 /* TableController.h */,
A63C952210A8762800E81577 /* TableController.m */,
A63C959610A8D6C000E81577 /* SampleConstants.h */,
A630FD5E110FABAB00D6740A /* BottomBannerController.h */,
A630FD5F110FABAB00D6740A /* BottomBannerController.m */,
A6A7997B1120D36A00A00FD8 /* LocationController.h */,
A6A7997C1120D36A00A00FD8 /* LocationController.m */,
A6F6CC771149A8B500DFFFEA /* ModalViewController.h */,
A6F6CC781149A8B500DFFFEA /* ModalViewController.m */,
);
path = Classes;
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
A6EC5B3C10A4B0C60091B7F9 /* AdWhirl */,
A6EC5C6310A4C9A50091B7F9 /* AdNetworkLibs */,
A6ED4911114F0131002C57E6 /* TouchJSON */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = CustomTemplate;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
28A0AAE50D9B0CCF005BE974 /* AdWhirlSDK2_Sample_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
A6A7998C1120D69600A00FD8 /* LocationController.xib */,
A6B0CF2B10ACBD8900B29A14 /* adwhirlsample_icon.png */,
A63C952610A8CCFF00E81577 /* TableController.xib */,
A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */,
A630FDA9110FB3E700D6740A /* BottomBannerController.xib */,
28F335F01007B36200424DE2 /* RootViewController.xib */,
A6F6CC791149A8B500DFFFEA /* ModalViewController.xib */,
28AD735F0D9D9599002E5188 /* MainWindow.xib */,
8D1107310486CEB800E47090 /* AdWhirlSDK2_Sample-Info.plist */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
1D30AB110D05D00D00671497 /* Foundation.framework */,
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */,
A61E1BA611B6213700D0DD65 /* AVFoundation.framework */,
A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */,
A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */,
A61F580B110F698700444E50 /* AudioToolbox.framework */,
A6EC5BDB10A4C3150091B7F9 /* MapKit.framework */,
A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */,
A6EC5BF210A4C3400091B7F9 /* MessageUI.framework */,
A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */,
A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */,
A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */,
A6EC5C5210A4C4470091B7F9 /* libz.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
};
A615C27111B5DEDD00E0C50F /* GoogleAdSense */ = {
isa = PBXGroup;
children = (
A615C27211B5DEDD00E0C50F /* GADAdSenseAudioParameters.h */,
A615C27311B5DEDD00E0C50F /* GADAdSenseParameters.h */,
A615C27411B5DEDD00E0C50F /* GADAdViewController.h */,
A615C27511B5DEDD00E0C50F /* GADDoubleClickParameters.h */,
A615C27611B5DEDD00E0C50F /* GADRequestError.h */,
A615C27711B5DEDD00E0C50F /* libGoogleAds.a */,
);
name = GoogleAdSense;
path = ../AdNetworkLibs/GoogleAdSense;
sourceTree = SOURCE_ROOT;
};
A67869B91121E5C1008E55E8 /* JumptapApi */ = {
isa = PBXGroup;
children = (
A67869BA1121E5C1008E55E8 /* 2.2.1 */,
A67869BF1121E5C1008E55E8 /* 3.0 */,
A67869C41121E5C1008E55E8 /* JTAdWidget.h */,
A67869C51121E5C1008E55E8 /* JumpTapAppReport.h */,
);
name = JumptapApi;
path = ../AdNetworkLibs/JumptapApi;
sourceTree = SOURCE_ROOT;
};
A67869BA1121E5C1008E55E8 /* 2.2.1 */ = {
isa = PBXGroup;
children = (
A67869BB1121E5C1008E55E8 /* iphoneos */,
A67869BD1121E5C1008E55E8 /* iphonesimulator */,
);
path = 2.2.1;
sourceTree = "<group>";
};
A67869BB1121E5C1008E55E8 /* iphoneos */ = {
isa = PBXGroup;
children = (
A67869BC1121E5C1008E55E8 /* libJumptapApi.a */,
);
path = iphoneos;
sourceTree = "<group>";
};
A67869BD1121E5C1008E55E8 /* iphonesimulator */ = {
isa = PBXGroup;
children = (
A67869BE1121E5C1008E55E8 /* libJumptapApi.a */,
);
path = iphonesimulator;
sourceTree = "<group>";
};
A67869BF1121E5C1008E55E8 /* 3.0 */ = {
isa = PBXGroup;
children = (
A67869C01121E5C1008E55E8 /* iphoneos */,
A67869C21121E5C1008E55E8 /* iphonesimulator */,
);
path = 3.0;
sourceTree = "<group>";
};
A67869C01121E5C1008E55E8 /* iphoneos */ = {
isa = PBXGroup;
children = (
A67869C11121E5C1008E55E8 /* libJumptapApi.a */,
);
path = iphoneos;
sourceTree = "<group>";
};
A67869C21121E5C1008E55E8 /* iphonesimulator */ = {
isa = PBXGroup;
children = (
A67869C31121E5C1008E55E8 /* libJumptapApi.a */,
);
path = iphonesimulator;
sourceTree = "<group>";
};
A6EC5B3C10A4B0C60091B7F9 /* AdWhirl */ = {
isa = PBXGroup;
children = (
A6EC5B3D10A4B0C60091B7F9 /* adapters */,
A6EC5B5210A4B0C60091B7F9 /* AdWhirlDelegateProtocol.h */,
A6EC5B5310A4B0C60091B7F9 /* AdWhirlView.h */,
A6EC5B5410A4B0C60091B7F9 /* internal */,
A6EC5B6710A4B0C60091B7F9 /* legacy */,
);
name = AdWhirl;
path = ../AdWhirl;
sourceTree = SOURCE_ROOT;
};
A6EC5B3D10A4B0C60091B7F9 /* adapters */ = {
isa = PBXGroup;
children = (
A615C26811B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.h */,
A615C26911B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.m */,
A6CB6843110E3B6800B24288 /* AdWhirlAdapterMdotM.h */,
A6CB6844110E3B6800B24288 /* AdWhirlAdapterMdotM.m */,
A6EC5C5410A4C9900091B7F9 /* AdWhirlAdapterAdMob.h */,
A6EC5C5510A4C9900091B7F9 /* AdWhirlAdapterAdMob.m */,
A6EC5C5610A4C9900091B7F9 /* AdWhirlAdapterJumpTap.h */,
A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */,
A6EC5C5810A4C9900091B7F9 /* AdWhirlAdapterMillennial.h */,
A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */,
A6EC5C5A10A4C9900091B7F9 /* AdWhirlAdapterQuattro.h */,
A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */,
A6EC5C5C10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.h */,
A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */,
A6EC5B5010A4B0C60091B7F9 /* AdWhirlAdNetworkAdapter.h */,
);
path = adapters;
sourceTree = "<group>";
};
A6EC5B5410A4B0C60091B7F9 /* internal */ = {
isa = PBXGroup;
children = (
A62A0D34118F7D810013A568 /* AdWhirlAdapterEvent.h */,
A62A0D35118F7D810013A568 /* AdWhirlAdapterEvent.m */,
A6EC5CB210A4DCA00091B7F9 /* AdWhirlAdapterCustom.h */,
A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */,
A6EC5CB410A4DCA00091B7F9 /* AdWhirlAdapterGeneric.h */,
A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */,
A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */,
A6EC5CB710A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.h */,
A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */,
A6EC5B5510A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.h */,
A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */,
A6EC5B5710A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.h */,
A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */,
A6EC5B5910A4B0C60091B7F9 /* AdWhirlConfig.h */,
A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */,
A6EC5B5B10A4B0C60091B7F9 /* AdWhirlCustomAdView.h */,
A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */,
A6EC5B5D10A4B0C60091B7F9 /* AdWhirlError.h */,
A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */,
A6EC5B5F10A4B0C60091B7F9 /* AdWhirlLog.h */,
A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */,
A6EC5B6110A4B0C60091B7F9 /* AdWhirlView+.h */,
A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */,
A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */,
A6EC5B6410A4B0C60091B7F9 /* AdWhirlWebBrowserController.h */,
A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */,
A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */,
);
path = internal;
sourceTree = "<group>";
};
A6EC5B6710A4B0C60091B7F9 /* legacy */ = {
isa = PBXGroup;
children = (
A6EC5B6810A4B0C60091B7F9 /* ARRollerProtocol.h */,
A6EC5B6910A4B0C60091B7F9 /* ARRollerView.h */,
);
path = legacy;
sourceTree = "<group>";
};
A6EC5C6310A4C9A50091B7F9 /* AdNetworkLibs */ = {
isa = PBXGroup;
children = (
A6EC5C6610A4C9F70091B7F9 /* AdMob */,
A615C27111B5DEDD00E0C50F /* GoogleAdSense */,
A67869B91121E5C1008E55E8 /* JumptapApi */,
A6EC5C7D10A4D4BF0091B7F9 /* MillennialMedia */,
A6EC5C7510A4D4500091B7F9 /* QuattroWirelessLib */,
A6EC5C8510A4D52E0091B7F9 /* VEAdFrames.1.0.4_2.2 */,
);
name = AdNetworkLibs;
sourceTree = "<group>";
};
A6EC5C6610A4C9F70091B7F9 /* AdMob */ = {
isa = PBXGroup;
children = (
A690297C11458AE200F2E41D /* libAdMob.a */,
A690297A11458AA000F2E41D /* AdMobDelegateProtocol.h */,
A690297B11458ABF00F2E41D /* AdMobView.h */,
);
name = AdMob;
path = ../AdNetworkLibs/AdMob;
sourceTree = SOURCE_ROOT;
};
A6EC5C7510A4D4500091B7F9 /* QuattroWirelessLib */ = {
isa = PBXGroup;
children = (
A6F55C6A1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */,
A6F55C6B1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a */,
A6EC5C7810A4D4500091B7F9 /* QWAd.h */,
A6EC5C7910A4D4500091B7F9 /* QWAdView.h */,
A6EC5C7A10A4D4500091B7F9 /* QWTestMode.h */,
);
name = QuattroWirelessLib;
path = ../AdNetworkLibs/QuattroWirelessLib;
sourceTree = SOURCE_ROOT;
};
A6EC5C7D10A4D4BF0091B7F9 /* MillennialMedia */ = {
isa = PBXGroup;
children = (
A67F2A601162949700E0278D /* MMAdView.h */,
A6BF7001114B0F9A005C95B8 /* libMMSDK.a */,
);
name = MillennialMedia;
path = ../AdNetworkLibs/MillennialMedia;
sourceTree = SOURCE_ROOT;
};
A6EC5C8510A4D52E0091B7F9 /* VEAdFrames.1.0.4_2.2 */ = {
isa = PBXGroup;
children = (
A6EC5C8610A4D52E0091B7F9 /* ARM */,
A6EC5C8910A4D52E0091B7F9 /* include */,
A6EC5C8C10A4D52E0091B7F9 /* X86 */,
);
name = VEAdFrames.1.0.4_2.2;
path = ../AdNetworkLibs/VEAdFrames.1.0.4_2.2;
sourceTree = SOURCE_ROOT;
};
A6EC5C8610A4D52E0091B7F9 /* ARM */ = {
isa = PBXGroup;
children = (
A6EC5C8810A4D52E0091B7F9 /* libAdFrame-ARM.a */,
);
path = ARM;
sourceTree = "<group>";
};
A6EC5C8910A4D52E0091B7F9 /* include */ = {
isa = PBXGroup;
children = (
A6EC5C8A10A4D52E0091B7F9 /* AdFrameConstants.h */,
A6EC5C8B10A4D52E0091B7F9 /* AdFrameView.h */,
);
path = include;
sourceTree = "<group>";
};
A6EC5C8C10A4D52E0091B7F9 /* X86 */ = {
isa = PBXGroup;
children = (
A6EC5C8E10A4D52E0091B7F9 /* libAdFrame-X86.a */,
);
path = X86;
sourceTree = "<group>";
};
A6ED4911114F0131002C57E6 /* TouchJSON */ = {
isa = PBXGroup;
children = (
A6ED4912114F0131002C57E6 /* CDataScanner.h */,
A6ED4913114F0131002C57E6 /* CDataScanner.m */,
A6ED4914114F0131002C57E6 /* Extensions */,
A6ED491D114F0131002C57E6 /* JSON */,
);
name = TouchJSON;
path = ../TouchJSON;
sourceTree = SOURCE_ROOT;
};
A6ED4914114F0131002C57E6 /* Extensions */ = {
isa = PBXGroup;
children = (
A6ED4915114F0131002C57E6 /* CDataScanner_Extensions.h */,
A6ED4916114F0131002C57E6 /* CDataScanner_Extensions.m */,
A6ED4917114F0131002C57E6 /* NSCharacterSet_Extensions.h */,
A6ED4918114F0131002C57E6 /* NSCharacterSet_Extensions.m */,
A6ED4919114F0131002C57E6 /* NSDictionary_JSONExtensions.h */,
A6ED491A114F0131002C57E6 /* NSDictionary_JSONExtensions.m */,
A6ED491B114F0131002C57E6 /* NSScanner_Extensions.h */,
A6ED491C114F0131002C57E6 /* NSScanner_Extensions.m */,
);
path = Extensions;
sourceTree = "<group>";
};
A6ED491D114F0131002C57E6 /* JSON */ = {
isa = PBXGroup;
children = (
A6ED491E114F0131002C57E6 /* CJSONDataSerializer.h */,
A6ED491F114F0131002C57E6 /* CJSONDataSerializer.m */,
A6ED4920114F0131002C57E6 /* CJSONDeserializer.h */,
A6ED4921114F0131002C57E6 /* CJSONDeserializer.m */,
A6ED4922114F0131002C57E6 /* CJSONScanner.h */,
A6ED4923114F0131002C57E6 /* CJSONScanner.m */,
A6ED4924114F0131002C57E6 /* CJSONSerializer.h */,
A6ED4925114F0131002C57E6 /* CJSONSerializer.m */,
A6ED4926114F0131002C57E6 /* CSerializedJSONData.h */,
A6ED4927114F0131002C57E6 /* CSerializedJSONData.m */,
);
path = JSON;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D6058900D05DD3D006BFB54 /* AdWhirlSDK2_Sample */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "AdWhirlSDK2_Sample" */;
buildPhases = (
1D60588D0D05DD3D006BFB54 /* Resources */,
1D60588E0D05DD3D006BFB54 /* Sources */,
1D60588F0D05DD3D006BFB54 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = AdWhirlSDK2_Sample;
productName = AdWhirlSDK2_Sample;
productReference = 1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlSDK2_Sample-3_x" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
en,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
projectDirPath = "";
projectRoot = "";
targets = (
1D6058900D05DD3D006BFB54 /* AdWhirlSDK2_Sample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1D60588D0D05DD3D006BFB54 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */,
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */,
A6EC5B7B10A4B0C60091B7F9 /* AdWhirlWebBrowser.xib in Resources */,
A6EC5D2E10A4EBAB0091B7F9 /* SimpleViewController.xib in Resources */,
A63C952710A8CCFF00E81577 /* TableController.xib in Resources */,
A6B0CF2C10ACBD8900B29A14 /* adwhirlsample_icon.png in Resources */,
A630FDAA110FB3E700D6740A /* BottomBannerController.xib in Resources */,
A6A7998D1120D69600A00FD8 /* LocationController.xib in Resources */,
A6F6CC7B1149A8B500DFFFEA /* ModalViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1D60588E0D05DD3D006BFB54 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
1D3623260D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m in Sources */,
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */,
A6EC5B7410A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m in Sources */,
A6EC5B7510A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m in Sources */,
A6EC5B7610A4B0C60091B7F9 /* AdWhirlConfig.m in Sources */,
A6EC5B7710A4B0C60091B7F9 /* AdWhirlCustomAdView.m in Sources */,
A6EC5B7810A4B0C60091B7F9 /* AdWhirlError.m in Sources */,
A6EC5B7910A4B0C60091B7F9 /* AdWhirlLog.m in Sources */,
A6EC5B7A10A4B0C60091B7F9 /* AdWhirlView.m in Sources */,
A6EC5B7C10A4B0C60091B7F9 /* AdWhirlWebBrowserController.m in Sources */,
A6EC5B7D10A4B0C60091B7F9 /* ARRollerView.m in Sources */,
A6EC5CB910A4DCA00091B7F9 /* AdWhirlAdapterCustom.m in Sources */,
A6EC5CBA10A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m in Sources */,
A6EC5CBB10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m in Sources */,
A6EC5CBC10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */,
A6EC5D1A10A4EB710091B7F9 /* SimpleViewController.m in Sources */,
A63C952410A8762800E81577 /* TableController.m in Sources */,
A630FD61110FABAB00D6740A /* BottomBannerController.m in Sources */,
A6A7997D1120D36A00A00FD8 /* LocationController.m in Sources */,
A6B9860E11484CF2001B2F2B /* AdWhirlAdapterAdMob.m in Sources */,
A6B9860F11484CF3001B2F2B /* AdWhirlAdapterJumpTap.m in Sources */,
A6B9861011484CF4001B2F2B /* AdWhirlAdapterMdotM.m in Sources */,
A6B9861111484CF4001B2F2B /* AdWhirlAdapterMillennial.m in Sources */,
A6B9861211484CF5001B2F2B /* AdWhirlAdapterQuattro.m in Sources */,
A6B9861311484CF6001B2F2B /* AdWhirlAdapterVideoEgg.m in Sources */,
A6F6CC7A1149A8B500DFFFEA /* ModalViewController.m in Sources */,
A6ED4928114F0131002C57E6 /* CDataScanner.m in Sources */,
A6ED4929114F0131002C57E6 /* CDataScanner_Extensions.m in Sources */,
A6ED492A114F0131002C57E6 /* NSCharacterSet_Extensions.m in Sources */,
A6ED492B114F0131002C57E6 /* NSDictionary_JSONExtensions.m in Sources */,
A6ED492C114F0131002C57E6 /* NSScanner_Extensions.m in Sources */,
A6ED492D114F0131002C57E6 /* CJSONDataSerializer.m in Sources */,
A6ED492E114F0131002C57E6 /* CJSONDeserializer.m in Sources */,
A6ED492F114F0131002C57E6 /* CJSONScanner.m in Sources */,
A6ED4930114F0131002C57E6 /* CJSONSerializer.m in Sources */,
A6ED4931114F0131002C57E6 /* CSerializedJSONData.m in Sources */,
A62A0D36118F7D810013A568 /* AdWhirlAdapterEvent.m in Sources */,
A615C26A11B5DD3F00E0C50F /* AdWhirlAdapterGoogleAdSense.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlSDK2_Sample_Prefix.pch;
INFOPLIST_FILE = "AdWhirlSDK2_Sample-Info.plist";
LIBRARY_SEARCH_PATHS = (
"\"$(SRCROOT)/../AdNetworkLibs/AdMob\"",
"\"$(SRCROOT)/../AdNetworkLibs/MillennialMedia\"",
"\"$(SRCROOT)/../AdNetworkLibs/QuattroWirelessLib\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/ARM\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/X86\"",
"\"$(SRCROOT)/../AdNetworkLibs/JumptapApi/$(IPHONEOS_DEPLOYMENT_TARGET)/$(PLATFORM_NAME)\"",
"\"$(SRCROOT)/../AdNetworkLibs/GoogleAdSense\"",
);
PRODUCT_NAME = AdWhirlSDK2;
};
name = Debug;
};
1D6058950D05DD3E006BFB54 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlSDK2_Sample_Prefix.pch;
INFOPLIST_FILE = "AdWhirlSDK2_Sample-Info.plist";
LIBRARY_SEARCH_PATHS = (
"\"$(SRCROOT)/../AdNetworkLibs/AdMob\"",
"\"$(SRCROOT)/../AdNetworkLibs/MillennialMedia\"",
"\"$(SRCROOT)/../AdNetworkLibs/QuattroWirelessLib\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/ARM\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames.1.0.4_2.2/X86\"",
"\"$(SRCROOT)/../AdNetworkLibs/JumptapApi/$(IPHONEOS_DEPLOYMENT_TARGET)/$(PLATFORM_NAME)\"",
"\"$(SRCROOT)/../AdNetworkLibs/GoogleAdSense\"",
);
PRODUCT_NAME = AdWhirlSDK2;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_PREPROCESSOR_DEFINITIONS = "ADWHIRL_DEBUG=1";
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
OTHER_LDFLAGS = "";
PREBINDING = NO;
SDKROOT = iphoneos3.0;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
OTHER_LDFLAGS = "";
PREBINDING = NO;
SDKROOT = iphoneos3.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "AdWhirlSDK2_Sample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D6058940D05DD3E006BFB54 /* Debug */,
1D6058950D05DD3E006BFB54 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlSDK2_Sample-3_x" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View File

@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationPortrait</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>adwhirlsample_icon.png</string>
<key>CFBundleIconFiles</key>
<array>
<string>adwhirlsample_icon.png</string>
<string>adwhirlsample_icon@2x.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>com.adwhirl.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string>MainWindow</string>
<key>MMediaLocationAware</key>
<false/>
<key>MMediaDefaultEmbedWebView</key>
<true/>
<key>UIPrerenderedIcon</key>
<true/>
</dict>
</plist>

View File

@@ -1,948 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1B183AA81211C7C60026647E /* UIColor+AdWhirlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B183AA71211C7C60026647E /* UIColor+AdWhirlConfig.m */; };
1B3FC6ED11EB954700C890D2 /* libGreystripeSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B3FC6EC11EB954700C890D2 /* libGreystripeSDK.a */; };
1B42692511FE258400910F21 /* jtUniversalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B42692411FE258400910F21 /* jtUniversalLib.a */; };
1B42692611FE25A500910F21 /* AdWhirlAdapterJumpTap.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */; };
1B6898DD120C916A0080EAC1 /* AdWhirlClassWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6898DC120C916A0080EAC1 /* AdWhirlClassWrapper.m */; };
1B6CE7CA121498DA00E44A28 /* AdWhirlConfigStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6CE7C9121498DA00E44A28 /* AdWhirlConfigStore.m */; };
1B6CE8921214AA6A00E44A28 /* AWNetworkReachabilityWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6CE8911214AA6A00E44A28 /* AWNetworkReachabilityWrapper.m */; };
1B7CC26C11EFB400004F4937 /* AdWhirlAdapterMillennial.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */; };
1B7CC26D11EFB403004F4937 /* AdWhirlAdapterVideoEgg.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */; };
1B7CC27411EFB42C004F4937 /* libAdFrame.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B7CC27311EFB42C004F4937 /* libAdFrame.a */; };
1B7CC27511EFB44C004F4937 /* libMMSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A6BF7001114B0F9A005C95B8 /* libMMSDK.a */; };
1B8B5F0F11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B8B5F0E11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.m */; };
1B8B5F1811E7EEDF002762E3 /* libZestADZ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B8B5F1511E7EEDF002762E3 /* libZestADZ.a */; };
1B91B4B71255596900C665F7 /* AdWhirlAdapterInMobi.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B91B4B61255596900C665F7 /* AdWhirlAdapterInMobi.m */; };
1BF8DFD111EB855100C2284D /* AdWhirlAdapterGreystripe.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BF8DFD011EB855100C2284D /* AdWhirlAdapterGreystripe.m */; };
1D3623260D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
204AE1CF141984A50043AA76 /* libNexageSDK-Lite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 204AE1CE141984A50043AA76 /* libNexageSDK-Lite.a */; };
20840DAA13CE56780029064C /* libInMobi_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 20840DA913CE56780029064C /* libInMobi_iOS.a */; };
20B2547313A03F8300F33931 /* AdWhirlAdapterNexage.m in Sources */ = {isa = PBXBuildFile; fileRef = 20B2547213A03F8300F33931 /* AdWhirlAdapterNexage.m */; };
20F28CE013B00F87006C724A /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20F28CDF13B00F87006C724A /* CFNetwork.framework */; };
20F28CE213B00FD5006C724A /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20F28CE113B00FD5006C724A /* MobileCoreServices.framework */; };
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; };
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */; };
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F335F01007B36200424DE2 /* RootViewController.xib */; };
6B42360512EA0D41001F5395 /* AdWhirlAdapterOneRiot.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B42360412EA0D41001F5395 /* AdWhirlAdapterOneRiot.m */; };
6B42369012EA29EB001F5395 /* libOneRiot.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B42368F12EA29EB001F5395 /* libOneRiot.a */; };
6B629D491332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B629D481332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.m */; };
6B629D5E1332BC21000D019C /* libGoogleAdMobAds.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B629D5D1332BC21000D019C /* libGoogleAdMobAds.a */; };
A6051FF011C7DF6600451D6F /* AdWhirlAdapterIAd.m in Sources */ = {isa = PBXBuildFile; fileRef = A6051FEF11C7DF6600451D6F /* AdWhirlAdapterIAd.m */; };
A605200A11C7DF8400451D6F /* iAd.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A605200911C7DF8400451D6F /* iAd.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
A605201311C7E20400451D6F /* AdWhirlAdapterMdotM.m in Sources */ = {isa = PBXBuildFile; fileRef = A6CB6844110E3B6800B24288 /* AdWhirlAdapterMdotM.m */; };
A61E1BA711B6213700D0DD65 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A61E1BA611B6213700D0DD65 /* AVFoundation.framework */; };
A61F580C110F698700444E50 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A61F580B110F698700444E50 /* AudioToolbox.framework */; };
A62A0D36118F7D810013A568 /* AdWhirlAdapterEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = A62A0D35118F7D810013A568 /* AdWhirlAdapterEvent.m */; };
A630FD61110FABAB00D6740A /* BottomBannerController.m in Sources */ = {isa = PBXBuildFile; fileRef = A630FD5F110FABAB00D6740A /* BottomBannerController.m */; };
A630FDAA110FB3E700D6740A /* BottomBannerController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A630FDA9110FB3E700D6740A /* BottomBannerController.xib */; };
A6392A3211C9777500459FD4 /* adwhirlsample_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A6392A3111C9777500459FD4 /* adwhirlsample_icon@2x.png */; };
A63C952410A8762800E81577 /* TableController.m in Sources */ = {isa = PBXBuildFile; fileRef = A63C952210A8762800E81577 /* TableController.m */; };
A63C952710A8CCFF00E81577 /* TableController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A63C952610A8CCFF00E81577 /* TableController.xib */; };
A6A7997D1120D36A00A00FD8 /* LocationController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6A7997C1120D36A00A00FD8 /* LocationController.m */; };
A6A7998D1120D69600A00FD8 /* LocationController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6A7998C1120D69600A00FD8 /* LocationController.xib */; };
A6B0CF2C10ACBD8900B29A14 /* adwhirlsample_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A6B0CF2B10ACBD8900B29A14 /* adwhirlsample_icon.png */; };
A6EC5B7410A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */; };
A6EC5B7510A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */; };
A6EC5B7610A4B0C60091B7F9 /* AdWhirlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */; };
A6EC5B7710A4B0C60091B7F9 /* AdWhirlCustomAdView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */; };
A6EC5B7810A4B0C60091B7F9 /* AdWhirlError.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */; };
A6EC5B7910A4B0C60091B7F9 /* AdWhirlLog.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */; };
A6EC5B7A10A4B0C60091B7F9 /* AdWhirlView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */; };
A6EC5B7B10A4B0C60091B7F9 /* AdWhirlWebBrowser.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */; };
A6EC5B7C10A4B0C60091B7F9 /* AdWhirlWebBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */; };
A6EC5B7D10A4B0C60091B7F9 /* ARRollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */; };
A6EC5BA710A4B18F0091B7F9 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */; };
A6EC5BCD10A4C30D0091B7F9 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */; };
A6EC5BDC10A4C3150091B7F9 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BDB10A4C3150091B7F9 /* MapKit.framework */; };
A6EC5BE510A4C31C0091B7F9 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */; };
A6EC5BF310A4C3400091B7F9 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BF210A4C3400091B7F9 /* MessageUI.framework */; };
A6EC5BF810A4C3460091B7F9 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */; };
A6EC5C0B10A4C34F0091B7F9 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */; };
A6EC5C4F10A4C43F0091B7F9 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */; };
A6EC5C5310A4C4470091B7F9 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EC5C5210A4C4470091B7F9 /* libz.dylib */; };
A6EC5CB910A4DCA00091B7F9 /* AdWhirlAdapterCustom.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */; };
A6EC5CBA10A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */; };
A6EC5CBB10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */; };
A6EC5CBC10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */; };
A6EC5D1A10A4EB710091B7F9 /* SimpleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */; };
A6EC5D2E10A4EBAB0091B7F9 /* SimpleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */; };
A6ED4928114F0131002C57E6 /* CDataScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4913114F0131002C57E6 /* CDataScanner.m */; };
A6ED4929114F0131002C57E6 /* CDataScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4916114F0131002C57E6 /* CDataScanner_Extensions.m */; };
A6ED492A114F0131002C57E6 /* NSCharacterSet_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4918114F0131002C57E6 /* NSCharacterSet_Extensions.m */; };
A6ED492B114F0131002C57E6 /* NSDictionary_JSONExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED491A114F0131002C57E6 /* NSDictionary_JSONExtensions.m */; };
A6ED492C114F0131002C57E6 /* NSScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED491C114F0131002C57E6 /* NSScanner_Extensions.m */; };
A6ED492D114F0131002C57E6 /* CJSONDataSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED491F114F0131002C57E6 /* CJSONDataSerializer.m */; };
A6ED492E114F0131002C57E6 /* CJSONDeserializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4921114F0131002C57E6 /* CJSONDeserializer.m */; };
A6ED492F114F0131002C57E6 /* CJSONScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4923114F0131002C57E6 /* CJSONScanner.m */; };
A6ED4930114F0131002C57E6 /* CJSONSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4925114F0131002C57E6 /* CJSONSerializer.m */; };
A6ED4931114F0131002C57E6 /* CSerializedJSONData.m in Sources */ = {isa = PBXBuildFile; fileRef = A6ED4927114F0131002C57E6 /* CSerializedJSONData.m */; };
A6F6CC7A1149A8B500DFFFEA /* ModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A6F6CC781149A8B500DFFFEA /* ModalViewController.m */; };
A6F6CC7B1149A8B500DFFFEA /* ModalViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A6F6CC791149A8B500DFFFEA /* ModalViewController.xib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1B183AA61211C7C60026647E /* UIColor+AdWhirlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+AdWhirlConfig.h"; sourceTree = "<group>"; };
1B183AA71211C7C60026647E /* UIColor+AdWhirlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+AdWhirlConfig.m"; sourceTree = "<group>"; };
1B1973FD12415A1B0083FB36 /* AWNetworkReachabilityDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AWNetworkReachabilityDelegate.h; sourceTree = "<group>"; };
1B3FC6E911EB954700C890D2 /* GreystripeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GreystripeDelegate.h; sourceTree = "<group>"; };
1B3FC6EA11EB954700C890D2 /* GSAdEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GSAdEngine.h; sourceTree = "<group>"; };
1B3FC6EB11EB954700C890D2 /* GSAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GSAdView.h; sourceTree = "<group>"; };
1B3FC6EC11EB954700C890D2 /* libGreystripeSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGreystripeSDK.a; sourceTree = "<group>"; };
1B42692411FE258400910F21 /* jtUniversalLib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = jtUniversalLib.a; sourceTree = "<group>"; };
1B6898DB120C916A0080EAC1 /* AdWhirlClassWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlClassWrapper.h; sourceTree = "<group>"; };
1B6898DC120C916A0080EAC1 /* AdWhirlClassWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlClassWrapper.m; sourceTree = "<group>"; };
1B6CE7C8121498DA00E44A28 /* AdWhirlConfigStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlConfigStore.h; sourceTree = "<group>"; };
1B6CE7C9121498DA00E44A28 /* AdWhirlConfigStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfigStore.m; sourceTree = "<group>"; };
1B6CE8901214AA6A00E44A28 /* AWNetworkReachabilityWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AWNetworkReachabilityWrapper.h; sourceTree = "<group>"; };
1B6CE8911214AA6A00E44A28 /* AWNetworkReachabilityWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AWNetworkReachabilityWrapper.m; sourceTree = "<group>"; };
1B7CC27111EFB42C004F4937 /* AdFrameConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdFrameConstants.h; sourceTree = "<group>"; };
1B7CC27211EFB42C004F4937 /* AdFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdFrameView.h; sourceTree = "<group>"; };
1B7CC27311EFB42C004F4937 /* libAdFrame.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAdFrame.a; sourceTree = "<group>"; };
1B8B5F0D11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterZestADZ.h; sourceTree = "<group>"; };
1B8B5F0E11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterZestADZ.m; sourceTree = "<group>"; };
1B8B5F1511E7EEDF002762E3 /* libZestADZ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libZestADZ.a; sourceTree = "<group>"; };
1B8B5F1611E7EEDF002762E3 /* ZestadzDelegateProtocal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZestadzDelegateProtocal.h; sourceTree = "<group>"; };
1B8B5F1711E7EEDF002762E3 /* ZestadzView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZestadzView.h; sourceTree = "<group>"; };
1B91B4B51255596900C665F7 /* AdWhirlAdapterInMobi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterInMobi.h; sourceTree = "<group>"; };
1B91B4B61255596900C665F7 /* AdWhirlAdapterInMobi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterInMobi.m; sourceTree = "<group>"; };
1BF8DFCF11EB855100C2284D /* AdWhirlAdapterGreystripe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGreystripe.h; sourceTree = "<group>"; };
1BF8DFD011EB855100C2284D /* AdWhirlAdapterGreystripe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGreystripe.m; sourceTree = "<group>"; };
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D3623240D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlSDK2_SampleAppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlSDK2_SampleAppDelegate.m; sourceTree = "<group>"; };
1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AdWhirlSDK2.app; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
204AE1CE141984A50043AA76 /* libNexageSDK-Lite.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libNexageSDK-Lite.a"; sourceTree = "<group>"; };
20840DA913CE56780029064C /* libInMobi_iOS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libInMobi_iOS.a; sourceTree = "<group>"; };
20B2547113A03F8300F33931 /* AdWhirlAdapterNexage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterNexage.h; sourceTree = "<group>"; };
20B2547213A03F8300F33931 /* AdWhirlAdapterNexage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterNexage.m; sourceTree = "<group>"; };
20ED534C14687FD20080D52D /* IMAdError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMAdError.h; sourceTree = "<group>"; };
20ED534D14687FD20080D52D /* IMAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMAdView.h; sourceTree = "<group>"; };
20ED534E14687FD20080D52D /* IMAdDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMAdDelegate.h; sourceTree = "<group>"; };
20ED534F14687FD20080D52D /* IMSDKUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMSDKUtil.h; sourceTree = "<group>"; };
20ED535014687FD20080D52D /* IMAdRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMAdRequest.h; sourceTree = "<group>"; };
20F28C7113AC30BB006C724A /* NexageAdParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NexageAdParameters.h; sourceTree = "<group>"; };
20F28C7213AC30BB006C724A /* NexageAdViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NexageAdViewController.h; sourceTree = "<group>"; };
20F28C7313AC30BB006C724A /* NexageDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NexageDelegateProtocol.h; sourceTree = "<group>"; };
20F28CDF13B00F87006C724A /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
20F28CE113B00FD5006C724A /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
28A0AAE50D9B0CCF005BE974 /* AdWhirlSDK2_Sample_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlSDK2_Sample_Prefix.pch; sourceTree = "<group>"; };
28AD735F0D9D9599002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
28C286E00D94DF7D0034E888 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
28F335F01007B36200424DE2 /* RootViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RootViewController.xib; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
6B42360312EA0D41001F5395 /* AdWhirlAdapterOneRiot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterOneRiot.h; sourceTree = "<group>"; };
6B42360412EA0D41001F5395 /* AdWhirlAdapterOneRiot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterOneRiot.m; sourceTree = "<group>"; };
6B42365812EA16FE001F5395 /* OneRiotAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OneRiotAd.h; path = ../AdNetworkLibs/OneRiot/OneRiotAd.h; sourceTree = "<group>"; };
6B42368F12EA29EB001F5395 /* libOneRiot.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOneRiot.a; path = ../AdNetworkLibs/OneRiot/libOneRiot.a; sourceTree = "<group>"; };
6B629D471332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGoogleAdMobAds.h; sourceTree = "<group>"; };
6B629D481332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGoogleAdMobAds.m; sourceTree = "<group>"; };
6B629D511332BAB9000D019C /* GADBannerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADBannerView.h; sourceTree = "<group>"; };
6B629D521332BAB9000D019C /* GADBannerViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADBannerViewDelegate.h; sourceTree = "<group>"; };
6B629D531332BAB9000D019C /* GADInterstitial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADInterstitial.h; sourceTree = "<group>"; };
6B629D541332BAB9000D019C /* GADInterstitialDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADInterstitialDelegate.h; sourceTree = "<group>"; };
6B629D551332BAB9000D019C /* GADRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADRequest.h; sourceTree = "<group>"; };
6B629D561332BAB9000D019C /* GADRequestError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GADRequestError.h; sourceTree = "<group>"; };
6B629D5D1332BC21000D019C /* libGoogleAdMobAds.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGoogleAdMobAds.a; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* AdWhirlSDK2_Sample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "AdWhirlSDK2_Sample-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
A6051FEE11C7DF6600451D6F /* AdWhirlAdapterIAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterIAd.h; sourceTree = "<group>"; };
A6051FEF11C7DF6600451D6F /* AdWhirlAdapterIAd.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterIAd.m; sourceTree = "<group>"; };
A605200911C7DF8400451D6F /* iAd.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = iAd.framework; path = System/Library/Frameworks/iAd.framework; sourceTree = SDKROOT; };
A61E1BA611B6213700D0DD65 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
A61F580B110F698700444E50 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
A62A0D34118F7D810013A568 /* AdWhirlAdapterEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterEvent.h; sourceTree = "<group>"; };
A62A0D35118F7D810013A568 /* AdWhirlAdapterEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterEvent.m; sourceTree = "<group>"; };
A630FD5E110FABAB00D6740A /* BottomBannerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomBannerController.h; sourceTree = "<group>"; };
A630FD5F110FABAB00D6740A /* BottomBannerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BottomBannerController.m; sourceTree = "<group>"; };
A630FDA9110FB3E700D6740A /* BottomBannerController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BottomBannerController.xib; sourceTree = "<group>"; };
A6392A3111C9777500459FD4 /* adwhirlsample_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "adwhirlsample_icon@2x.png"; sourceTree = "<group>"; };
A63C952110A8762800E81577 /* TableController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableController.h; sourceTree = "<group>"; };
A63C952210A8762800E81577 /* TableController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableController.m; sourceTree = "<group>"; };
A63C952610A8CCFF00E81577 /* TableController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TableController.xib; sourceTree = "<group>"; };
A63C959610A8D6C000E81577 /* SampleConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleConstants.h; sourceTree = "<group>"; };
A67869C41121E5C1008E55E8 /* JTAdWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JTAdWidget.h; sourceTree = "<group>"; };
A67869C51121E5C1008E55E8 /* JumpTapAppReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JumpTapAppReport.h; sourceTree = "<group>"; };
A67F2A601162949700E0278D /* MMAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMAdView.h; sourceTree = "<group>"; };
A6A7997B1120D36A00A00FD8 /* LocationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocationController.h; sourceTree = "<group>"; };
A6A7997C1120D36A00A00FD8 /* LocationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocationController.m; sourceTree = "<group>"; };
A6A7998C1120D69600A00FD8 /* LocationController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LocationController.xib; sourceTree = "<group>"; };
A6B0CF2B10ACBD8900B29A14 /* adwhirlsample_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = adwhirlsample_icon.png; sourceTree = "<group>"; };
A6BF7001114B0F9A005C95B8 /* libMMSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libMMSDK.a; sourceTree = "<group>"; };
A6CB6843110E3B6800B24288 /* AdWhirlAdapterMdotM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMdotM.h; sourceTree = "<group>"; };
A6CB6844110E3B6800B24288 /* AdWhirlAdapterMdotM.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMdotM.m; sourceTree = "<group>"; };
A6EC5B5010A4B0C60091B7F9 /* AdWhirlAdNetworkAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkAdapter.h; sourceTree = "<group>"; };
A6EC5B5210A4B0C60091B7F9 /* AdWhirlDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlDelegateProtocol.h; sourceTree = "<group>"; };
A6EC5B5310A4B0C60091B7F9 /* AdWhirlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlView.h; sourceTree = "<group>"; };
A6EC5B5510A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkConfig.h; sourceTree = "<group>"; };
A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkConfig.m; sourceTree = "<group>"; };
A6EC5B5710A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkRegistry.h; sourceTree = "<group>"; };
A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkRegistry.m; sourceTree = "<group>"; };
A6EC5B5910A4B0C60091B7F9 /* AdWhirlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlConfig.h; sourceTree = "<group>"; };
A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfig.m; sourceTree = "<group>"; };
A6EC5B5B10A4B0C60091B7F9 /* AdWhirlCustomAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlCustomAdView.h; sourceTree = "<group>"; };
A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlCustomAdView.m; sourceTree = "<group>"; };
A6EC5B5D10A4B0C60091B7F9 /* AdWhirlError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlError.h; sourceTree = "<group>"; };
A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlError.m; sourceTree = "<group>"; };
A6EC5B5F10A4B0C60091B7F9 /* AdWhirlLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlLog.h; sourceTree = "<group>"; };
A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlLog.m; sourceTree = "<group>"; };
A6EC5B6110A4B0C60091B7F9 /* AdWhirlView+.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlView+.h"; sourceTree = "<group>"; };
A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlView.m; sourceTree = "<group>"; };
A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AdWhirlWebBrowser.xib; sourceTree = "<group>"; };
A6EC5B6410A4B0C60091B7F9 /* AdWhirlWebBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlWebBrowserController.h; sourceTree = "<group>"; };
A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlWebBrowserController.m; sourceTree = "<group>"; };
A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRollerView.m; sourceTree = "<group>"; };
A6EC5B6810A4B0C60091B7F9 /* ARRollerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerProtocol.h; sourceTree = "<group>"; };
A6EC5B6910A4B0C60091B7F9 /* ARRollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerView.h; sourceTree = "<group>"; };
A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
A6EC5BDB10A4C3150091B7F9 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
A6EC5BF210A4C3400091B7F9 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
A6EC5C5210A4C4470091B7F9 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
A6EC5C5610A4C9900091B7F9 /* AdWhirlAdapterJumpTap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterJumpTap.h; sourceTree = "<group>"; };
A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterJumpTap.m; sourceTree = "<group>"; };
A6EC5C5810A4C9900091B7F9 /* AdWhirlAdapterMillennial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMillennial.h; sourceTree = "<group>"; };
A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMillennial.m; sourceTree = "<group>"; };
A6EC5C5A10A4C9900091B7F9 /* AdWhirlAdapterQuattro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterQuattro.h; sourceTree = "<group>"; };
A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterQuattro.m; sourceTree = "<group>"; };
A6EC5C5C10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterVideoEgg.h; sourceTree = "<group>"; };
A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterVideoEgg.m; sourceTree = "<group>"; };
A6EC5C7810A4D4500091B7F9 /* QWAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWAd.h; sourceTree = "<group>"; };
A6EC5C7910A4D4500091B7F9 /* QWAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWAdView.h; sourceTree = "<group>"; };
A6EC5C7A10A4D4500091B7F9 /* QWTestMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QWTestMode.h; sourceTree = "<group>"; };
A6EC5CB210A4DCA00091B7F9 /* AdWhirlAdapterCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterCustom.h; sourceTree = "<group>"; };
A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterCustom.m; sourceTree = "<group>"; };
A6EC5CB410A4DCA00091B7F9 /* AdWhirlAdapterGeneric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGeneric.h; sourceTree = "<group>"; };
A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGeneric.m; sourceTree = "<group>"; };
A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkAdapter.m; sourceTree = "<group>"; };
A6EC5CB710A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlAdNetworkAdapter+Helpers.h"; sourceTree = "<group>"; };
A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AdWhirlAdNetworkAdapter+Helpers.m"; sourceTree = "<group>"; };
A6EC5D1710A4EB710091B7F9 /* SimpleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleViewController.h; sourceTree = "<group>"; };
A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SimpleViewController.m; sourceTree = "<group>"; };
A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SimpleViewController.xib; sourceTree = "<group>"; };
A6ED4912114F0131002C57E6 /* CDataScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner.h; sourceTree = "<group>"; };
A6ED4913114F0131002C57E6 /* CDataScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner.m; sourceTree = "<group>"; };
A6ED4915114F0131002C57E6 /* CDataScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner_Extensions.h; sourceTree = "<group>"; };
A6ED4916114F0131002C57E6 /* CDataScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner_Extensions.m; sourceTree = "<group>"; };
A6ED4917114F0131002C57E6 /* NSCharacterSet_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSCharacterSet_Extensions.h; sourceTree = "<group>"; };
A6ED4918114F0131002C57E6 /* NSCharacterSet_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSCharacterSet_Extensions.m; sourceTree = "<group>"; };
A6ED4919114F0131002C57E6 /* NSDictionary_JSONExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDictionary_JSONExtensions.h; sourceTree = "<group>"; };
A6ED491A114F0131002C57E6 /* NSDictionary_JSONExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDictionary_JSONExtensions.m; sourceTree = "<group>"; };
A6ED491B114F0131002C57E6 /* NSScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSScanner_Extensions.h; sourceTree = "<group>"; };
A6ED491C114F0131002C57E6 /* NSScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSScanner_Extensions.m; sourceTree = "<group>"; };
A6ED491E114F0131002C57E6 /* CJSONDataSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDataSerializer.h; sourceTree = "<group>"; };
A6ED491F114F0131002C57E6 /* CJSONDataSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDataSerializer.m; sourceTree = "<group>"; };
A6ED4920114F0131002C57E6 /* CJSONDeserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDeserializer.h; sourceTree = "<group>"; };
A6ED4921114F0131002C57E6 /* CJSONDeserializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDeserializer.m; sourceTree = "<group>"; };
A6ED4922114F0131002C57E6 /* CJSONScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONScanner.h; sourceTree = "<group>"; };
A6ED4923114F0131002C57E6 /* CJSONScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONScanner.m; sourceTree = "<group>"; };
A6ED4924114F0131002C57E6 /* CJSONSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONSerializer.h; sourceTree = "<group>"; };
A6ED4925114F0131002C57E6 /* CJSONSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONSerializer.m; sourceTree = "<group>"; };
A6ED4926114F0131002C57E6 /* CSerializedJSONData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSerializedJSONData.h; sourceTree = "<group>"; };
A6ED4927114F0131002C57E6 /* CSerializedJSONData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CSerializedJSONData.m; sourceTree = "<group>"; };
A6F55C6A1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libQuattroWireless-Simulator3.1.0-os3.0.a"; sourceTree = "<group>"; };
A6F55C6B1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libQuattroWireless3.1.0-os3.0.a"; sourceTree = "<group>"; };
A6F6CC771149A8B500DFFFEA /* ModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModalViewController.h; sourceTree = "<group>"; };
A6F6CC781149A8B500DFFFEA /* ModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ModalViewController.m; sourceTree = "<group>"; };
A6F6CC791149A8B500DFFFEA /* ModalViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ModalViewController.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
20F28CE213B00FD5006C724A /* MobileCoreServices.framework in Frameworks */,
20F28CE013B00F87006C724A /* CFNetwork.framework in Frameworks */,
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */,
A6EC5BA710A4B18F0091B7F9 /* CoreLocation.framework in Frameworks */,
A6EC5BCD10A4C30D0091B7F9 /* AddressBook.framework in Frameworks */,
A6EC5BDC10A4C3150091B7F9 /* MapKit.framework in Frameworks */,
A6EC5BE510A4C31C0091B7F9 /* MediaPlayer.framework in Frameworks */,
A6EC5BF310A4C3400091B7F9 /* MessageUI.framework in Frameworks */,
A6EC5BF810A4C3460091B7F9 /* QuartzCore.framework in Frameworks */,
A6EC5C0B10A4C34F0091B7F9 /* SystemConfiguration.framework in Frameworks */,
A6EC5C4F10A4C43F0091B7F9 /* libsqlite3.dylib in Frameworks */,
A6EC5C5310A4C4470091B7F9 /* libz.dylib in Frameworks */,
A61F580C110F698700444E50 /* AudioToolbox.framework in Frameworks */,
A61E1BA711B6213700D0DD65 /* AVFoundation.framework in Frameworks */,
A605200A11C7DF8400451D6F /* iAd.framework in Frameworks */,
1B8B5F1811E7EEDF002762E3 /* libZestADZ.a in Frameworks */,
1B3FC6ED11EB954700C890D2 /* libGreystripeSDK.a in Frameworks */,
1B7CC27411EFB42C004F4937 /* libAdFrame.a in Frameworks */,
1B7CC27511EFB44C004F4937 /* libMMSDK.a in Frameworks */,
1B42692511FE258400910F21 /* jtUniversalLib.a in Frameworks */,
6B42369012EA29EB001F5395 /* libOneRiot.a in Frameworks */,
6B629D5E1332BC21000D019C /* libGoogleAdMobAds.a in Frameworks */,
20840DAA13CE56780029064C /* libInMobi_iOS.a in Frameworks */,
204AE1CF141984A50043AA76 /* libNexageSDK-Lite.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
28C286DF0D94DF7D0034E888 /* RootViewController.h */,
28C286E00D94DF7D0034E888 /* RootViewController.m */,
1D3623240D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.h */,
1D3623250D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m */,
A6EC5D1710A4EB710091B7F9 /* SimpleViewController.h */,
A6EC5D1810A4EB710091B7F9 /* SimpleViewController.m */,
A63C952110A8762800E81577 /* TableController.h */,
A63C952210A8762800E81577 /* TableController.m */,
A63C959610A8D6C000E81577 /* SampleConstants.h */,
A630FD5E110FABAB00D6740A /* BottomBannerController.h */,
A630FD5F110FABAB00D6740A /* BottomBannerController.m */,
A6A7997B1120D36A00A00FD8 /* LocationController.h */,
A6A7997C1120D36A00A00FD8 /* LocationController.m */,
A6F6CC771149A8B500DFFFEA /* ModalViewController.h */,
A6F6CC781149A8B500DFFFEA /* ModalViewController.m */,
);
path = Classes;
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */,
);
name = Products;
sourceTree = "<group>";
};
1B3FC6E811EB954700C890D2 /* Greystripe */ = {
isa = PBXGroup;
children = (
1B3FC6E911EB954700C890D2 /* GreystripeDelegate.h */,
1B3FC6EA11EB954700C890D2 /* GSAdEngine.h */,
1B3FC6EB11EB954700C890D2 /* GSAdView.h */,
1B3FC6EC11EB954700C890D2 /* libGreystripeSDK.a */,
);
name = Greystripe;
path = ../AdNetworkLibs/Greystripe;
sourceTree = SOURCE_ROOT;
};
1B7CC26F11EFB42C004F4937 /* VEAdFrames */ = {
isa = PBXGroup;
children = (
1B7CC27011EFB42C004F4937 /* include */,
1B7CC27311EFB42C004F4937 /* libAdFrame.a */,
);
name = VEAdFrames;
path = ../AdNetworkLibs/VEAdFrames;
sourceTree = SOURCE_ROOT;
};
1B7CC27011EFB42C004F4937 /* include */ = {
isa = PBXGroup;
children = (
1B7CC27111EFB42C004F4937 /* AdFrameConstants.h */,
1B7CC27211EFB42C004F4937 /* AdFrameView.h */,
);
path = include;
sourceTree = "<group>";
};
1B8B5F1411E7EEDF002762E3 /* ZestADZ */ = {
isa = PBXGroup;
children = (
1B8B5F1511E7EEDF002762E3 /* libZestADZ.a */,
1B8B5F1611E7EEDF002762E3 /* ZestadzDelegateProtocal.h */,
1B8B5F1711E7EEDF002762E3 /* ZestadzView.h */,
);
name = ZestADZ;
path = ../AdNetworkLibs/ZestADZ;
sourceTree = SOURCE_ROOT;
};
1B91B4AD125557F600C665F7 /* InMobi */ = {
isa = PBXGroup;
children = (
20ED534C14687FD20080D52D /* IMAdError.h */,
20ED534D14687FD20080D52D /* IMAdView.h */,
20ED534E14687FD20080D52D /* IMAdDelegate.h */,
20ED534F14687FD20080D52D /* IMSDKUtil.h */,
20ED535014687FD20080D52D /* IMAdRequest.h */,
20840DA913CE56780029064C /* libInMobi_iOS.a */,
);
name = InMobi;
path = ../AdNetworkLibs/InMobi;
sourceTree = SOURCE_ROOT;
};
20F28C4513AC2FFC006C724A /* Nexage */ = {
isa = PBXGroup;
children = (
204AE1CE141984A50043AA76 /* libNexageSDK-Lite.a */,
20F28C7013AC30BB006C724A /* includes */,
);
name = Nexage;
path = ../AdNetworkLibs/Nexage;
sourceTree = SOURCE_ROOT;
};
20F28C7013AC30BB006C724A /* includes */ = {
isa = PBXGroup;
children = (
20F28C7113AC30BB006C724A /* NexageAdParameters.h */,
20F28C7213AC30BB006C724A /* NexageAdViewController.h */,
20F28C7313AC30BB006C724A /* NexageDelegateProtocol.h */,
);
path = includes;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
A6EC5B3C10A4B0C60091B7F9 /* AdWhirl */,
A6EC5C6310A4C9A50091B7F9 /* AdNetworkLibs */,
A6ED4911114F0131002C57E6 /* TouchJSON */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = CustomTemplate;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
28A0AAE50D9B0CCF005BE974 /* AdWhirlSDK2_Sample_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
A6A7998C1120D69600A00FD8 /* LocationController.xib */,
A6B0CF2B10ACBD8900B29A14 /* adwhirlsample_icon.png */,
A6392A3111C9777500459FD4 /* adwhirlsample_icon@2x.png */,
A63C952610A8CCFF00E81577 /* TableController.xib */,
A6EC5D2D10A4EBAB0091B7F9 /* SimpleViewController.xib */,
A630FDA9110FB3E700D6740A /* BottomBannerController.xib */,
28F335F01007B36200424DE2 /* RootViewController.xib */,
A6F6CC791149A8B500DFFFEA /* ModalViewController.xib */,
28AD735F0D9D9599002E5188 /* MainWindow.xib */,
8D1107310486CEB800E47090 /* AdWhirlSDK2_Sample-Info.plist */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
20F28CE113B00FD5006C724A /* MobileCoreServices.framework */,
20F28CDF13B00F87006C724A /* CFNetwork.framework */,
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
1D30AB110D05D00D00671497 /* Foundation.framework */,
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */,
A61E1BA611B6213700D0DD65 /* AVFoundation.framework */,
A6EC5BA610A4B18F0091B7F9 /* CoreLocation.framework */,
A6EC5BCC10A4C30D0091B7F9 /* AddressBook.framework */,
A61F580B110F698700444E50 /* AudioToolbox.framework */,
A6EC5BDB10A4C3150091B7F9 /* MapKit.framework */,
A6EC5BE410A4C31C0091B7F9 /* MediaPlayer.framework */,
A6EC5BF210A4C3400091B7F9 /* MessageUI.framework */,
A6EC5BF710A4C3460091B7F9 /* QuartzCore.framework */,
A6EC5C0A10A4C34F0091B7F9 /* SystemConfiguration.framework */,
A605200911C7DF8400451D6F /* iAd.framework */,
A6EC5C4E10A4C43F0091B7F9 /* libsqlite3.dylib */,
A6EC5C5210A4C4470091B7F9 /* libz.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
};
6B42365712EA16EE001F5395 /* OneRiot */ = {
isa = PBXGroup;
children = (
6B42365812EA16FE001F5395 /* OneRiotAd.h */,
6B42368F12EA29EB001F5395 /* libOneRiot.a */,
);
name = OneRiot;
sourceTree = SOURCE_ROOT;
};
6B629D501332BAB9000D019C /* Google */ = {
isa = PBXGroup;
children = (
6B629D511332BAB9000D019C /* GADBannerView.h */,
6B629D521332BAB9000D019C /* GADBannerViewDelegate.h */,
6B629D531332BAB9000D019C /* GADInterstitial.h */,
6B629D541332BAB9000D019C /* GADInterstitialDelegate.h */,
6B629D551332BAB9000D019C /* GADRequest.h */,
6B629D561332BAB9000D019C /* GADRequestError.h */,
6B629D5D1332BC21000D019C /* libGoogleAdMobAds.a */,
);
name = Google;
path = ../AdNetworkLibs/Google;
sourceTree = SOURCE_ROOT;
};
A67869B91121E5C1008E55E8 /* JumptapApi */ = {
isa = PBXGroup;
children = (
1B42692411FE258400910F21 /* jtUniversalLib.a */,
A67869C41121E5C1008E55E8 /* JTAdWidget.h */,
A67869C51121E5C1008E55E8 /* JumpTapAppReport.h */,
);
name = JumptapApi;
path = ../AdNetworkLibs/JumptapApi;
sourceTree = SOURCE_ROOT;
};
A6EC5B3C10A4B0C60091B7F9 /* AdWhirl */ = {
isa = PBXGroup;
children = (
A6EC5B3D10A4B0C60091B7F9 /* adapters */,
A6EC5B5210A4B0C60091B7F9 /* AdWhirlDelegateProtocol.h */,
A6EC5B5310A4B0C60091B7F9 /* AdWhirlView.h */,
A6EC5B5410A4B0C60091B7F9 /* internal */,
A6EC5B6710A4B0C60091B7F9 /* legacy */,
);
name = AdWhirl;
path = ../AdWhirl;
sourceTree = SOURCE_ROOT;
};
A6EC5B3D10A4B0C60091B7F9 /* adapters */ = {
isa = PBXGroup;
children = (
6B629D471332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.h */,
6B629D481332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.m */,
1BF8DFCF11EB855100C2284D /* AdWhirlAdapterGreystripe.h */,
1BF8DFD011EB855100C2284D /* AdWhirlAdapterGreystripe.m */,
A6051FEE11C7DF6600451D6F /* AdWhirlAdapterIAd.h */,
A6051FEF11C7DF6600451D6F /* AdWhirlAdapterIAd.m */,
1B91B4B51255596900C665F7 /* AdWhirlAdapterInMobi.h */,
1B91B4B61255596900C665F7 /* AdWhirlAdapterInMobi.m */,
A6EC5C5610A4C9900091B7F9 /* AdWhirlAdapterJumpTap.h */,
A6EC5C5710A4C9900091B7F9 /* AdWhirlAdapterJumpTap.m */,
A6CB6843110E3B6800B24288 /* AdWhirlAdapterMdotM.h */,
A6CB6844110E3B6800B24288 /* AdWhirlAdapterMdotM.m */,
A6EC5C5810A4C9900091B7F9 /* AdWhirlAdapterMillennial.h */,
A6EC5C5910A4C9900091B7F9 /* AdWhirlAdapterMillennial.m */,
20B2547113A03F8300F33931 /* AdWhirlAdapterNexage.h */,
20B2547213A03F8300F33931 /* AdWhirlAdapterNexage.m */,
6B42360312EA0D41001F5395 /* AdWhirlAdapterOneRiot.h */,
6B42360412EA0D41001F5395 /* AdWhirlAdapterOneRiot.m */,
A6EC5C5A10A4C9900091B7F9 /* AdWhirlAdapterQuattro.h */,
A6EC5C5B10A4C9900091B7F9 /* AdWhirlAdapterQuattro.m */,
A6EC5C5C10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.h */,
A6EC5C5D10A4C9900091B7F9 /* AdWhirlAdapterVideoEgg.m */,
1B8B5F0D11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.h */,
1B8B5F0E11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.m */,
A6EC5B5010A4B0C60091B7F9 /* AdWhirlAdNetworkAdapter.h */,
);
path = adapters;
sourceTree = "<group>";
};
A6EC5B5410A4B0C60091B7F9 /* internal */ = {
isa = PBXGroup;
children = (
1B6898DB120C916A0080EAC1 /* AdWhirlClassWrapper.h */,
1B6898DC120C916A0080EAC1 /* AdWhirlClassWrapper.m */,
A62A0D34118F7D810013A568 /* AdWhirlAdapterEvent.h */,
A62A0D35118F7D810013A568 /* AdWhirlAdapterEvent.m */,
A6EC5CB210A4DCA00091B7F9 /* AdWhirlAdapterCustom.h */,
A6EC5CB310A4DCA00091B7F9 /* AdWhirlAdapterCustom.m */,
A6EC5CB410A4DCA00091B7F9 /* AdWhirlAdapterGeneric.h */,
A6EC5CB510A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m */,
A6EC5CB610A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m */,
A6EC5CB710A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.h */,
A6EC5CB810A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m */,
A6EC5B5510A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.h */,
A6EC5B5610A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m */,
A6EC5B5710A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.h */,
A6EC5B5810A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m */,
A6EC5B5910A4B0C60091B7F9 /* AdWhirlConfig.h */,
A6EC5B5A10A4B0C60091B7F9 /* AdWhirlConfig.m */,
A6EC5B5B10A4B0C60091B7F9 /* AdWhirlCustomAdView.h */,
A6EC5B5C10A4B0C60091B7F9 /* AdWhirlCustomAdView.m */,
A6EC5B5D10A4B0C60091B7F9 /* AdWhirlError.h */,
A6EC5B5E10A4B0C60091B7F9 /* AdWhirlError.m */,
A6EC5B5F10A4B0C60091B7F9 /* AdWhirlLog.h */,
A6EC5B6010A4B0C60091B7F9 /* AdWhirlLog.m */,
A6EC5B6110A4B0C60091B7F9 /* AdWhirlView+.h */,
A6EC5B6210A4B0C60091B7F9 /* AdWhirlView.m */,
A6EC5B6310A4B0C60091B7F9 /* AdWhirlWebBrowser.xib */,
A6EC5B6410A4B0C60091B7F9 /* AdWhirlWebBrowserController.h */,
A6EC5B6510A4B0C60091B7F9 /* AdWhirlWebBrowserController.m */,
A6EC5B6610A4B0C60091B7F9 /* ARRollerView.m */,
1B183AA61211C7C60026647E /* UIColor+AdWhirlConfig.h */,
1B183AA71211C7C60026647E /* UIColor+AdWhirlConfig.m */,
1B6CE7C8121498DA00E44A28 /* AdWhirlConfigStore.h */,
1B6CE7C9121498DA00E44A28 /* AdWhirlConfigStore.m */,
1B6CE8901214AA6A00E44A28 /* AWNetworkReachabilityWrapper.h */,
1B6CE8911214AA6A00E44A28 /* AWNetworkReachabilityWrapper.m */,
1B1973FD12415A1B0083FB36 /* AWNetworkReachabilityDelegate.h */,
);
path = internal;
sourceTree = "<group>";
};
A6EC5B6710A4B0C60091B7F9 /* legacy */ = {
isa = PBXGroup;
children = (
A6EC5B6810A4B0C60091B7F9 /* ARRollerProtocol.h */,
A6EC5B6910A4B0C60091B7F9 /* ARRollerView.h */,
);
path = legacy;
sourceTree = "<group>";
};
A6EC5C6310A4C9A50091B7F9 /* AdNetworkLibs */ = {
isa = PBXGroup;
children = (
20F28C4513AC2FFC006C724A /* Nexage */,
6B629D501332BAB9000D019C /* Google */,
1B3FC6E811EB954700C890D2 /* Greystripe */,
1B91B4AD125557F600C665F7 /* InMobi */,
A67869B91121E5C1008E55E8 /* JumptapApi */,
A6EC5C7D10A4D4BF0091B7F9 /* MillennialMedia */,
6B42365712EA16EE001F5395 /* OneRiot */,
A6EC5C7510A4D4500091B7F9 /* QuattroWirelessLib */,
1B7CC26F11EFB42C004F4937 /* VEAdFrames */,
1B8B5F1411E7EEDF002762E3 /* ZestADZ */,
);
name = AdNetworkLibs;
sourceTree = "<group>";
};
A6EC5C7510A4D4500091B7F9 /* QuattroWirelessLib */ = {
isa = PBXGroup;
children = (
A6F55C6A1121CB260062F368 /* libQuattroWireless-Simulator3.1.0-os3.0.a */,
A6F55C6B1121CB260062F368 /* libQuattroWireless3.1.0-os3.0.a */,
A6EC5C7810A4D4500091B7F9 /* QWAd.h */,
A6EC5C7910A4D4500091B7F9 /* QWAdView.h */,
A6EC5C7A10A4D4500091B7F9 /* QWTestMode.h */,
);
name = QuattroWirelessLib;
path = ../AdNetworkLibs/QuattroWirelessLib;
sourceTree = SOURCE_ROOT;
};
A6EC5C7D10A4D4BF0091B7F9 /* MillennialMedia */ = {
isa = PBXGroup;
children = (
A67F2A601162949700E0278D /* MMAdView.h */,
A6BF7001114B0F9A005C95B8 /* libMMSDK.a */,
);
name = MillennialMedia;
path = ../AdNetworkLibs/MillennialMedia;
sourceTree = SOURCE_ROOT;
};
A6ED4911114F0131002C57E6 /* TouchJSON */ = {
isa = PBXGroup;
children = (
A6ED4912114F0131002C57E6 /* CDataScanner.h */,
A6ED4913114F0131002C57E6 /* CDataScanner.m */,
A6ED4914114F0131002C57E6 /* Extensions */,
A6ED491D114F0131002C57E6 /* JSON */,
);
name = TouchJSON;
path = ../TouchJSON;
sourceTree = SOURCE_ROOT;
};
A6ED4914114F0131002C57E6 /* Extensions */ = {
isa = PBXGroup;
children = (
A6ED4915114F0131002C57E6 /* CDataScanner_Extensions.h */,
A6ED4916114F0131002C57E6 /* CDataScanner_Extensions.m */,
A6ED4917114F0131002C57E6 /* NSCharacterSet_Extensions.h */,
A6ED4918114F0131002C57E6 /* NSCharacterSet_Extensions.m */,
A6ED4919114F0131002C57E6 /* NSDictionary_JSONExtensions.h */,
A6ED491A114F0131002C57E6 /* NSDictionary_JSONExtensions.m */,
A6ED491B114F0131002C57E6 /* NSScanner_Extensions.h */,
A6ED491C114F0131002C57E6 /* NSScanner_Extensions.m */,
);
path = Extensions;
sourceTree = "<group>";
};
A6ED491D114F0131002C57E6 /* JSON */ = {
isa = PBXGroup;
children = (
A6ED491E114F0131002C57E6 /* CJSONDataSerializer.h */,
A6ED491F114F0131002C57E6 /* CJSONDataSerializer.m */,
A6ED4920114F0131002C57E6 /* CJSONDeserializer.h */,
A6ED4921114F0131002C57E6 /* CJSONDeserializer.m */,
A6ED4922114F0131002C57E6 /* CJSONScanner.h */,
A6ED4923114F0131002C57E6 /* CJSONScanner.m */,
A6ED4924114F0131002C57E6 /* CJSONSerializer.h */,
A6ED4925114F0131002C57E6 /* CJSONSerializer.m */,
A6ED4926114F0131002C57E6 /* CSerializedJSONData.h */,
A6ED4927114F0131002C57E6 /* CSerializedJSONData.m */,
);
path = JSON;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1D6058900D05DD3D006BFB54 /* AdWhirlSDK2_Sample */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "AdWhirlSDK2_Sample" */;
buildPhases = (
1B049FDE122ED494006AE0C9 /* ShellScript */,
1D60588D0D05DD3D006BFB54 /* Resources */,
1D60588E0D05DD3D006BFB54 /* Sources */,
1D60588F0D05DD3D006BFB54 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = AdWhirlSDK2_Sample;
productName = AdWhirlSDK2_Sample;
productReference = 1D6058910D05DD3D006BFB54 /* AdWhirlSDK2.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlSDK2_Sample" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
en,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
projectDirPath = "";
projectRoot = ../;
targets = (
1D6058900D05DD3D006BFB54 /* AdWhirlSDK2_Sample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1D60588D0D05DD3D006BFB54 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */,
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */,
A6EC5B7B10A4B0C60091B7F9 /* AdWhirlWebBrowser.xib in Resources */,
A6EC5D2E10A4EBAB0091B7F9 /* SimpleViewController.xib in Resources */,
A63C952710A8CCFF00E81577 /* TableController.xib in Resources */,
A6B0CF2C10ACBD8900B29A14 /* adwhirlsample_icon.png in Resources */,
A630FDAA110FB3E700D6740A /* BottomBannerController.xib in Resources */,
A6A7998D1120D69600A00FD8 /* LocationController.xib in Resources */,
A6F6CC7B1149A8B500DFFFEA /* ModalViewController.xib in Resources */,
A6392A3211C9777500459FD4 /* adwhirlsample_icon@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
1B049FDE122ED494006AE0C9 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cp -f adwhirlsample_iconAT2x.png adwhirlsample_icon@2x.png";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1D60588E0D05DD3D006BFB54 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
1D3623260D0F684500981E51 /* AdWhirlSDK2_SampleAppDelegate.m in Sources */,
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */,
A6EC5B7410A4B0C60091B7F9 /* AdWhirlAdNetworkConfig.m in Sources */,
A6EC5B7510A4B0C60091B7F9 /* AdWhirlAdNetworkRegistry.m in Sources */,
A6EC5B7610A4B0C60091B7F9 /* AdWhirlConfig.m in Sources */,
A6EC5B7710A4B0C60091B7F9 /* AdWhirlCustomAdView.m in Sources */,
A6EC5B7810A4B0C60091B7F9 /* AdWhirlError.m in Sources */,
A6EC5B7910A4B0C60091B7F9 /* AdWhirlLog.m in Sources */,
A6EC5B7A10A4B0C60091B7F9 /* AdWhirlView.m in Sources */,
A6EC5B7C10A4B0C60091B7F9 /* AdWhirlWebBrowserController.m in Sources */,
A6EC5B7D10A4B0C60091B7F9 /* ARRollerView.m in Sources */,
A6EC5CB910A4DCA00091B7F9 /* AdWhirlAdapterCustom.m in Sources */,
A6EC5CBA10A4DCA00091B7F9 /* AdWhirlAdapterGeneric.m in Sources */,
A6EC5CBB10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter.m in Sources */,
A6EC5CBC10A4DCA00091B7F9 /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */,
A6EC5D1A10A4EB710091B7F9 /* SimpleViewController.m in Sources */,
A63C952410A8762800E81577 /* TableController.m in Sources */,
A630FD61110FABAB00D6740A /* BottomBannerController.m in Sources */,
A6A7997D1120D36A00A00FD8 /* LocationController.m in Sources */,
A6F6CC7A1149A8B500DFFFEA /* ModalViewController.m in Sources */,
A6ED4928114F0131002C57E6 /* CDataScanner.m in Sources */,
A6ED4929114F0131002C57E6 /* CDataScanner_Extensions.m in Sources */,
A6ED492A114F0131002C57E6 /* NSCharacterSet_Extensions.m in Sources */,
A6ED492B114F0131002C57E6 /* NSDictionary_JSONExtensions.m in Sources */,
A6ED492C114F0131002C57E6 /* NSScanner_Extensions.m in Sources */,
A6ED492D114F0131002C57E6 /* CJSONDataSerializer.m in Sources */,
A6ED492E114F0131002C57E6 /* CJSONDeserializer.m in Sources */,
A6ED492F114F0131002C57E6 /* CJSONScanner.m in Sources */,
A6ED4930114F0131002C57E6 /* CJSONSerializer.m in Sources */,
A6ED4931114F0131002C57E6 /* CSerializedJSONData.m in Sources */,
A62A0D36118F7D810013A568 /* AdWhirlAdapterEvent.m in Sources */,
A6051FF011C7DF6600451D6F /* AdWhirlAdapterIAd.m in Sources */,
A605201311C7E20400451D6F /* AdWhirlAdapterMdotM.m in Sources */,
1B8B5F0F11E7EE8D002762E3 /* AdWhirlAdapterZestADZ.m in Sources */,
1BF8DFD111EB855100C2284D /* AdWhirlAdapterGreystripe.m in Sources */,
1B7CC26C11EFB400004F4937 /* AdWhirlAdapterMillennial.m in Sources */,
1B7CC26D11EFB403004F4937 /* AdWhirlAdapterVideoEgg.m in Sources */,
1B42692611FE25A500910F21 /* AdWhirlAdapterJumpTap.m in Sources */,
1B6898DD120C916A0080EAC1 /* AdWhirlClassWrapper.m in Sources */,
1B183AA81211C7C60026647E /* UIColor+AdWhirlConfig.m in Sources */,
1B6CE7CA121498DA00E44A28 /* AdWhirlConfigStore.m in Sources */,
1B6CE8921214AA6A00E44A28 /* AWNetworkReachabilityWrapper.m in Sources */,
1B91B4B71255596900C665F7 /* AdWhirlAdapterInMobi.m in Sources */,
6B42360512EA0D41001F5395 /* AdWhirlAdapterOneRiot.m in Sources */,
6B629D491332B9B7000D019C /* AdWhirlAdapterGoogleAdMobAds.m in Sources */,
20B2547313A03F8300F33931 /* AdWhirlAdapterNexage.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlSDK2_Sample_Prefix.pch;
INFOPLIST_FILE = "AdWhirlSDK2_Sample-Info.plist";
LIBRARY_SEARCH_PATHS = (
"\"$(SRCROOT)/../AdNetworkLibs/MillennialMedia\"",
"\"$(SRCROOT)/../AdNetworkLibs/QuattroWirelessLib\"",
"\"$(SRCROOT)/../AdNetworkLibs/ZestADZ\"",
"\"$(SRCROOT)/../AdNetworkLibs/Greystripe\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames\"",
"\"$(SRCROOT)/../AdNetworkLibs/JumptapApi\"",
"\"$(SRCROOT)/../AdNetworkLibs/OneRiot\"",
"\"$(SRCROOT)/../AdNetworkLibs/Google\"",
"\"$(SRCROOT)/../AdNetworkLibs/InMobi\"",
"\"$(SRCROOT)/../AdNetworkLibs/Nexage\"",
);
PRODUCT_NAME = AdWhirlSDK2;
};
name = Debug;
};
1D6058950D05DD3E006BFB54 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlSDK2_Sample_Prefix.pch;
INFOPLIST_FILE = "AdWhirlSDK2_Sample-Info.plist";
LIBRARY_SEARCH_PATHS = (
"\"$(SRCROOT)/../AdNetworkLibs/MillennialMedia\"",
"\"$(SRCROOT)/../AdNetworkLibs/QuattroWirelessLib\"",
"\"$(SRCROOT)/../AdNetworkLibs/ZestADZ\"",
"\"$(SRCROOT)/../AdNetworkLibs/Greystripe\"",
"\"$(SRCROOT)/../AdNetworkLibs/VEAdFrames\"",
"\"$(SRCROOT)/../AdNetworkLibs/JumptapApi\"",
"\"$(SRCROOT)/../AdNetworkLibs/OneRiot\"",
"\"$(SRCROOT)/../AdNetworkLibs/Google\"",
"\"$(SRCROOT)/../AdNetworkLibs/InMobi\"",
"\"$(SRCROOT)/../AdNetworkLibs/Nexage\"",
);
PRODUCT_NAME = AdWhirlSDK2;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_PREPROCESSOR_DEFINITIONS = "ADWHIRL_DEBUG=1";
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
OTHER_LDFLAGS = (
"-ObjC",
"-all_load",
);
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
OTHER_LDFLAGS = (
"-ObjC",
"-all_load",
);
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "AdWhirlSDK2_Sample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1D6058940D05DD3E006BFB54 /* Debug */,
1D6058950D05DD3E006BFB54 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlSDK2_Sample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View File

@@ -1,10 +0,0 @@
//
// Prefix header for all source files of the 'AdWhirlSDK2_Sample' target in the 'AdWhirlSDK2_Sample' project
//
#import <Availability.h>
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif

View File

@@ -1,555 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">768</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">87</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="8"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="865841168">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIButton" id="640585752">
<reference key="NSNextResponder" ref="865841168"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 20}, {280, 37}}</string>
<reference key="NSSuperview" ref="865841168"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">607701</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<object class="NSFont" key="IBUIFont" id="930561767">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">15</double>
<int key="NSfFlags">16</int>
</object>
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Request New Ad</string>
<object class="NSColor" key="IBUIHighlightedTitleColor" id="549561436">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleShadowColor" id="86821748">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<object class="IBUIButton" id="261747858">
<reference key="NSNextResponder" ref="865841168"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 85}, {280, 37}}</string>
<reference key="NSSuperview" ref="865841168"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">607702</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<reference key="IBUIFont" ref="930561767"/>
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Roll Over</string>
<reference key="IBUIHighlightedTitleColor" ref="549561436"/>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
</object>
<reference key="IBUINormalTitleShadowColor" ref="86821748"/>
</object>
<object class="IBUILabel" id="307187855">
<reference key="NSNextResponder" ref="865841168"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 158}, {280, 153}}</string>
<reference key="NSSuperview" ref="865841168"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">1337</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Requesting Ad...</string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xMjc3MzcyMjYzIDAgMAA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUINumberOfLines">9</int>
<int key="IBUITextAlignment">1</int>
</object>
</object>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">10</int>
<object class="NSImage" key="NSImage">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{84, 1}</string>
<object class="NSMutableArray" key="NSReps">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAAAVjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P8ADQEAAAMAAAABAFQAAAEB
AAMAAAABAAEAAAECAAMAAAAEAAAB+gEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAAEAAAEXAAQAAAABAAABUAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
</object>
</object>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
</object>
<string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
<bool key="IBUIPrompted">NO</bool>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="865841168"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">requestNewAd:</string>
<reference key="source" ref="640585752"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">rollOver:</string>
<reference key="source" ref="261747858"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">14</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="865841168"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="261747858"/>
<reference ref="640585752"/>
<reference ref="307187855"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="261747858"/>
<reference key="parent" ref="865841168"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="640585752"/>
<reference key="parent" ref="865841168"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="307187855"/>
<reference key="parent" ref="865841168"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>10.IBPluginDependency</string>
<string>11.IBPluginDependency</string>
<string>8.IBEditorWindowLastContentRect</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>BottomBannerController</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{92, 165}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">14</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">BottomBannerController</string>
<string key="superclassName">SimpleViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/BottomBannerController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">SimpleViewController</string>
<string key="superclassName">UIViewController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>requestNewAd:</string>
<string>rollOver:</string>
<string>showModalView:</string>
<string>toggleRefreshAd:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SimpleViewController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="736994606">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIButton</string>
<string key="superclassName">UIControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIControl</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="736994606"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="768" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample-3_x.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">87</string>
</data>
</archive>

View File

@@ -1,30 +0,0 @@
/*
AdWhirlSDK2_SampleAppDelegate.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
@interface AdWhirlSDK2_SampleAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@end

View File

@@ -1,59 +0,0 @@
/*
AdWhirlSDK2_SampleAppDelegate.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlSDK2_SampleAppDelegate.h"
#import "RootViewController.h"
#import "AdWhirlLog.h"
@implementation AdWhirlSDK2_SampleAppDelegate
@synthesize window;
@synthesize navigationController;
#pragma mark -
#pragma mark Application lifecycle
- (void)applicationDidFinishLaunching:(UIApplication *)application {
#ifdef ADWHIRL_DEBUG
AWLogSetLogLevel(AWLogLevelDebug);
#endif
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
- (void)applicationWillTerminate:(UIApplication *)application {
// Save data if appropriate
}
#pragma mark -
#pragma mark Memory management
- (void)dealloc {
[navigationController release];
[window release];
[super dealloc];
}
@end

View File

@@ -1,16 +0,0 @@
//
// BottomBannerController.h
// AdWhirlSDK2_Sample
//
// Created by Nigel Choi on 1/26/10.
// Copyright 2010 Admob. Inc.. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "SimpleViewController.h"
@interface BottomBannerController : SimpleViewController {
}
@end

View File

@@ -1,116 +0,0 @@
//
// BottomBannerController.m
// AdWhirlSDK2_Sample
//
// Created by Nigel Choi on 1/26/10.
// Copyright 2010 Admob. Inc.. All rights reserved.
//
#import "BottomBannerController.h"
#import "AdWhirlView.h"
#define BOTBVIEW_BUTTON_1_TAG 607701
#define BOTBVIEW_BUTTON_2_TAG 607702
#define BOTBVIEW_BUTTON_1_OFFSET 15
#define BOTBVIEW_BUTTON_2_OFFSET 37
#define BOTBVIEW_LABEL_OFFSET 67
#define BOTBVIEW_LABEL_HDIFF 45
@implementation BottomBannerController
- (id)init {
if (self = [super initWithNibName:@"BottomBannerController" bundle:nil]) {
currLayoutOrientation = UIInterfaceOrientationPortrait; // nib file defines a portrait view
self.title = @"Bottom Banner";
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
duration:(NSTimeInterval)duration {
[self adjustLayoutToOrientation:interfaceOrientation];
}
- (void)adjustLayoutToOrientation:(UIInterfaceOrientation)newOrientation {
if (UIInterfaceOrientationIsPortrait(currLayoutOrientation)
&& UIInterfaceOrientationIsLandscape(newOrientation)) {
UIView *button1 = [self.view viewWithTag:BOTBVIEW_BUTTON_1_TAG];
UIView *button2 = [self.view viewWithTag:BOTBVIEW_BUTTON_2_TAG];
assert(button1 != nil);
assert(button2 != nil);
CGPoint newCenter = button1.center;
newCenter.y -= BOTBVIEW_BUTTON_1_OFFSET;
button1.center = newCenter;
newCenter = button2.center;
newCenter.y -= BOTBVIEW_BUTTON_2_OFFSET;
button2.center = newCenter;
CGRect newFrame = self.label.frame;
newFrame.size.height -= 45;
newFrame.origin.y -= BOTBVIEW_LABEL_OFFSET;
self.label.frame = newFrame;
}
else if (UIInterfaceOrientationIsLandscape(currLayoutOrientation)
&& UIInterfaceOrientationIsPortrait(newOrientation)) {
UIView *button1 = [self.view viewWithTag:BOTBVIEW_BUTTON_1_TAG];
UIView *button2 = [self.view viewWithTag:BOTBVIEW_BUTTON_2_TAG];
assert(button1 != nil);
assert(button2 != nil);
CGPoint newCenter = button1.center;
newCenter.y += BOTBVIEW_BUTTON_1_OFFSET;
button1.center = newCenter;
newCenter = button2.center;
newCenter.y += BOTBVIEW_BUTTON_2_OFFSET;
button2.center = newCenter;
CGRect newFrame = self.label.frame;
newFrame.size.height += 45;
newFrame.origin.y += BOTBVIEW_LABEL_OFFSET;
self.label.frame = newFrame;
}
CGRect adFrame = [adView frame];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (UIInterfaceOrientationIsPortrait(newOrientation)) {
adFrame.origin.y = screenBounds.size.height
- adFrame.size.height
- self.navigationController.navigationBar.frame.size.height
- [UIApplication sharedApplication].statusBarFrame.size.height;
[adView setFrame:adFrame];
}
else if (UIInterfaceOrientationIsLandscape(newOrientation)) {
adFrame.origin.y = screenBounds.size.width
- adFrame.size.height
- self.navigationController.navigationBar.frame.size.height
- [UIApplication sharedApplication].statusBarFrame.size.width;
[adView setFrame:adFrame];
}
currLayoutOrientation = newOrientation;
}
- (void)adjustAdSize {
[UIView beginAnimations:@"AdResize" context:nil];
[UIView setAnimationDuration:0.7];
CGSize adSize = [adView actualAdSize];
CGRect newFrame = adView.frame;
newFrame.size.height = adSize.height;
newFrame.size.width = adSize.width;
newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/2;
newFrame.origin.y = self.view.bounds.size.height - adSize.height;
adView.frame = newFrame;
[UIView commitAnimations];
}
- (void)dealloc {
[super dealloc];
}
#pragma mark AdWhirlDelegate methods
- (NSUInteger)millennialMediaAdType {
return 2;
}
@end

View File

@@ -1,21 +0,0 @@
//
// LocationController.h
// AdWhirlSDK2_Sample
//
// Created by Nigel Choi on 2/8/10.
// Copyright 2010 Admob. Inc.. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "TableController.h"
@interface LocationController : TableController <CLLocationManagerDelegate> {
CLLocationManager *locationManager;
UIInterfaceOrientation currLayoutOrientation;
}
@property (nonatomic,readonly) UILabel *locLabel;
- (void)adjustLayoutToOrientation:(UIInterfaceOrientation)newOrientation;
@end

View File

@@ -1,104 +0,0 @@
//
// LocationController.m
// AdWhirlSDK2_Sample
//
// Created by Nigel Choi on 2/8/10.
// Copyright 2010 Admob. Inc.. All rights reserved.
//
#import "LocationController.h"
#import "AdWhirlLog.h"
#define LOCVIEW_LOCLABEL_OFFSET 79
#define LOCVIEW_LABEL_OFFSET 87
#define LOCVIEW_LABEL_HDIFF 63
@implementation LocationController
- (id)init {
if (self = [super initWithNibName:@"LocationController" bundle:nil]) {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startUpdatingLocation];
currLayoutOrientation = UIInterfaceOrientationPortrait; // nib file defines a portrait view
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self adjustLayoutToOrientation:self.interfaceOrientation];
}
- (UILabel *)locLabel {
return (UILabel *)[self.view viewWithTag:103];
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
duration:(NSTimeInterval)duration {
[self adjustLayoutToOrientation:interfaceOrientation];
}
- (void)adjustLayoutToOrientation:(UIInterfaceOrientation)newOrientation {
UILabel *ll = self.locLabel;
UILabel *label = self.label;
assert(ll != nil);
assert(label != nil);
if (UIInterfaceOrientationIsPortrait(currLayoutOrientation)
&& UIInterfaceOrientationIsLandscape(newOrientation)) {
CGPoint newCenter = ll.center;
newCenter.y -= LOCVIEW_LOCLABEL_OFFSET;
ll.center = newCenter;
CGRect newFrame = label.frame;
newFrame.origin.y -= LOCVIEW_LABEL_OFFSET;
newFrame.size.height -= LOCVIEW_LABEL_HDIFF;
label.frame = newFrame;
}
else if (UIInterfaceOrientationIsLandscape(currLayoutOrientation)
&& UIInterfaceOrientationIsPortrait(newOrientation)) {
CGPoint newCenter = ll.center;
newCenter.y += LOCVIEW_LOCLABEL_OFFSET;
ll.center = newCenter;
CGRect newFrame = label.frame;
newFrame.origin.y += LOCVIEW_LABEL_OFFSET;
newFrame.size.height += LOCVIEW_LABEL_HDIFF;
label.frame = newFrame;
}
currLayoutOrientation = newOrientation;
}
- (void)dealloc {
locationManager.delegate = nil;
[locationManager release], locationManager = nil;
[super dealloc];
}
#pragma mark AdWhirlDelegate methods
- (CLLocation *)locationInfo {
CLLocation *loc = [locationManager location];
AWLogDebug(@"AdWhirl asking for location: %@", loc);
return loc;
}
#pragma mark CLLocationManagerDelegate methods
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
[locationManager stopUpdatingLocation];
self.locLabel.text = [NSString stringWithFormat:@"Error getting location: %@",
[error localizedDescription]];
AWLogError(@"Failed getting location: %@", error);
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
self.locLabel.text = [NSString stringWithFormat:@"%lf %lf",
newLocation.coordinate.longitude,
newLocation.coordinate.latitude];
}
@end

View File

@@ -1,18 +0,0 @@
//
// ModalViewController.h
// AdWhirlSDK2_Sample
//
// Created by Nigel Choi on 3/11/10.
// Copyright 2010 Admob. Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ModalViewController : UIViewController {
}
- (IBAction)dismiss:(id)sender;
@end

View File

@@ -1,68 +0,0 @@
//
// ModalViewController.m
// AdWhirlSDK2_Sample
//
// Created by Nigel Choi on 3/11/10.
// Copyright 2010 Admob. Inc. All rights reserved.
//
#import "ModalViewController.h"
@implementation ModalViewController
- (id)init {
if (self = [super initWithNibName:@"ModalViewController" bundle:nil]) {
self.title = @"Modal View";
if ([self respondsToSelector:@selector(setModalTransitionStyle)]) {
[self setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
}
}
return self;
}
/*
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
// Custom initialization
}
return self;
}
*/
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (IBAction)dismiss:(id)sender {
[self dismissModalViewControllerAnimated:YES];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end

View File

@@ -1,27 +0,0 @@
/*
RootViewController.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlDelegateProtocol.h"
@interface RootViewController : UITableViewController <AdWhirlDelegate> {
BOOL configFetched;
}
@end

View File

@@ -1,244 +0,0 @@
/*
RootViewController.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlSDK2_SampleAppDelegate.h"
#import "RootViewController.h"
#import "SimpleViewController.h"
#import "TableController.h"
#import "BottomBannerController.h"
#import "LocationController.h"
#import "AdWhirlView.h"
#import "SampleConstants.h"
#define CONFIG_PREFETCH_ROW 4
@implementation RootViewController
/*
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
*/
/*
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
*/
/*
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
*/
/*
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
}
*/
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release anything that can be recreated in viewDidLoad or on demand.
// e.g. self.myOutlet = nil;
}
#pragma mark Table view methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return CONFIG_PREFETCH_ROW+1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
if ([UITableViewCell instancesRespondToSelector:@selector(initWithStyle:reuseIdentifier:)]) {
// iPhone SDK 3.0
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
else {
// iPhone SDK 2.2.1
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
}
switch (indexPath.row) {
case 0:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = @"Simple View";
}
else {
// iPhone SDK 2.2.1
cell.text = @"Simple View";
}
break;
case 1:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = @"Table Integration";
}
else {
// iPhone SDK 2.2.1
cell.text = @"Table Integration";
}
break;
case 2:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = @"Bottom Banner";
}
else {
// iPhone SDK 2.2.1
cell.text = @"Bottom Banner";
}
break;
case 3:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = @"Table w/ Location Info";
}
else {
// iPhone SDK 2.2.1
cell.text = @"Table w/ Location Info";
}
break;
case CONFIG_PREFETCH_ROW:
{
NSString *configText;
if (configFetched) {
configText = @"Update Config";
}
else {
configText = @"Prefetch Config";
}
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = configText;
}
else {
// iPhone SDK 2.2.1
cell.text = configText;
}
break;
}
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.row) {
case 0:
{
SimpleViewController *simple = [[SimpleViewController alloc] init];
[self.navigationController pushViewController:simple animated:YES];
[simple release];
break;
}
case 1:
{
TableController *table = [[TableController alloc] init];
[self.navigationController pushViewController:table animated:YES];
[table release];
break;
}
case 2:
{
BottomBannerController *bbc = [[BottomBannerController alloc] init];
[self.navigationController pushViewController:bbc animated:YES];
[bbc release];
break;
}
case 3:
{
LocationController *loc = [[LocationController alloc] init];
[self.navigationController pushViewController:loc animated:YES];
[loc release];
break;
}
case CONFIG_PREFETCH_ROW:
if (configFetched) {
[AdWhirlView updateAdWhirlConfigWithDelegate:self];
}
else {
[AdWhirlView startPreFetchingConfigurationDataWithDelegate:self];
}
break;
}
}
- (void)dealloc {
[super dealloc];
}
#pragma mark AdWhirlDelegate methods
- (NSString *)adWhirlApplicationKey {
return kSampleAppKey;
}
- (UIViewController *)viewControllerForPresentingModalView {
return [((AdWhirlSDK2_SampleAppDelegate *)[[UIApplication sharedApplication] delegate]) navigationController];
}
- (NSURL *)adWhirlConfigURL {
return [NSURL URLWithString:kSampleConfigURL];
}
- (void)adWhirlDidReceiveConfig:(AdWhirlView *)adWhirlView {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:CONFIG_PREFETCH_ROW inSection:0];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
configFetched = YES;
[self.tableView reloadData];
}
@end

View File

@@ -1,28 +0,0 @@
/*
SampleConstants.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#if !defined(kSampleAppKey)
#error "You must define kSampleAppKey as your AdWhirl SDK Key"
#endif
#define kSampleConfigURL @"http://mob.adwhirl.com/getInfo.php"
#define kSampleImpMetricURL @"http://met.adwhirl.com/exmet.php"
#define kSampleClickMetricURL @"http://met.adwhirl.com/exclick.php"
#define kSampleCustomAdURL @"http://mob.adwhirl.com/custom.php"

View File

@@ -1,41 +0,0 @@
/*
SimpleViewController.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <UIKit/UIKit.h>
#import "AdWhirlDelegateProtocol.h"
@class AdWhirlView;
@interface SimpleViewController : UIViewController <AdWhirlDelegate> {
AdWhirlView *adView;
UIInterfaceOrientation currLayoutOrientation;
}
- (IBAction)requestNewAd:(id)sender;
- (IBAction)requestNewConfig:(id)sender;
- (IBAction)rollOver:(id)sender;
- (IBAction)showModalView:(id)sender;
- (IBAction)toggleRefreshAd:(id)sender;
- (void)adjustLayoutToOrientation:(UIInterfaceOrientation)newOrientation;
- (void)adjustAdSize;
@property (nonatomic,retain) AdWhirlView *adView;
@property (nonatomic,readonly) UILabel *label;
@end

View File

@@ -1,441 +0,0 @@
/*
SimpleViewController.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlSDK2_SampleAppDelegate.h"
#import "SimpleViewController.h"
#import "AdWhirlView.h"
#import "AdWhirlView+.h"
#import "SampleConstants.h"
#import "ModalViewController.h"
#import "AdWhirlLog.h"
#define SIMPVIEW_BUTTON_1_TAG 607701
#define SIMPVIEW_BUTTON_2_TAG 607702
#define SIMPVIEW_BUTTON_3_TAG 607703
#define SIMPVIEW_BUTTON_4_TAG 607704
#define SIMPVIEW_SWITCH_1_TAG 706613
#define SIMPVIEW_LABEL_1_TAG 7066130
#define SIMPVIEW_BUTTON_1_OFFSET 46
#define SIMPVIEW_BUTTON_2_OFFSET 46
#define SIMPVIEW_BUTTON_3_OFFSET 66
#define SIMPVIEW_BUTTON_4_OFFSET 86
#define SIMPVIEW_SWITCH_1_OFFSET 69
#define SIMPVIEW_LABEL_1_OFFSET 43
#define SIMPVIEW_LABEL_1_OFFSETX 60
#define SIMPVIEW_LABEL_OFFSET 94
#define SIMPVIEW_LABEL_HDIFF 45
@implementation SimpleViewController
@synthesize adView;
- (id)init {
if (self = [super initWithNibName:@"SimpleViewController" bundle:nil]) {
currLayoutOrientation = UIInterfaceOrientationPortrait; // nib file defines a portrait view
self.title = @"Simple View";
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.adView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
self.adView.autoresizingMask =
UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
[self.view addSubview:self.adView];
if (getenv("ADWHIRL_FAKE_DARTS")) {
// To make ad network selection deterministic
const char *dartcstr = getenv("ADWHIRL_FAKE_DARTS");
NSArray *rawdarts = [[NSString stringWithCString:dartcstr]
componentsSeparatedByString:@" "];
NSMutableArray *darts
= [[NSMutableArray alloc] initWithCapacity:[rawdarts count]];
for (NSString *dartstr in rawdarts) {
if ([dartstr length] == 0) {
continue;
}
[darts addObject:[NSNumber numberWithDouble:[dartstr doubleValue]]];
}
self.adView.testDarts = darts;
}
UIDevice *device = [UIDevice currentDevice];
if ([device respondsToSelector:@selector(isMultitaskingSupported)] &&
[device isMultitaskingSupported]) {
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(enterForeground:)
name:UIApplicationWillEnterForegroundNotification
object:nil];
}
}
- (void)viewWillAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self adjustLayoutToOrientation:self.interfaceOrientation];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)io {
return YES;
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration {
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
[self.adView rotateToOrientation:toInterfaceOrientation];
[self adjustAdSize];
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)io
duration:(NSTimeInterval)duration {
[self adjustLayoutToOrientation:io];
}
- (void)adjustLayoutToOrientation:(UIInterfaceOrientation)newOrientation {
UIView *button1 = [self.view viewWithTag:SIMPVIEW_BUTTON_1_TAG];
UIView *button2 = [self.view viewWithTag:SIMPVIEW_BUTTON_2_TAG];
UIView *button3 = [self.view viewWithTag:SIMPVIEW_BUTTON_3_TAG];
UIView *button4 = [self.view viewWithTag:SIMPVIEW_BUTTON_4_TAG];
UIView *switch1 = [self.view viewWithTag:SIMPVIEW_SWITCH_1_TAG];
UIView *label1 = [self.view viewWithTag:SIMPVIEW_LABEL_1_TAG];
assert(button1 != nil);
assert(button2 != nil);
assert(button3 != nil);
assert(button4 != nil);
assert(switch1 != nil);
assert(label1 != nil);
if (UIInterfaceOrientationIsPortrait(currLayoutOrientation)
&& UIInterfaceOrientationIsLandscape(newOrientation)) {
CGPoint newCenter = button1.center;
newCenter.y -= SIMPVIEW_BUTTON_1_OFFSET;
button1.center = newCenter;
newCenter = button2.center;
newCenter.y -= SIMPVIEW_BUTTON_2_OFFSET;
button2.center = newCenter;
newCenter = button3.center;
newCenter.y -= SIMPVIEW_BUTTON_3_OFFSET;
button3.center = newCenter;
newCenter = button4.center;
newCenter.y -= SIMPVIEW_BUTTON_4_OFFSET;
button4.center = newCenter;
newCenter = switch1.center;
newCenter.y -= SIMPVIEW_SWITCH_1_OFFSET;
switch1.center = newCenter;
newCenter = label1.center;
newCenter.y -= SIMPVIEW_LABEL_1_OFFSET;
newCenter.x += SIMPVIEW_LABEL_1_OFFSETX;
label1.center = newCenter;
CGRect newFrame = self.label.frame;
newFrame.size.height -= 45;
newFrame.origin.y -= SIMPVIEW_LABEL_OFFSET;
self.label.frame = newFrame;
}
else if (UIInterfaceOrientationIsLandscape(currLayoutOrientation)
&& UIInterfaceOrientationIsPortrait(newOrientation)) {
CGPoint newCenter = button1.center;
newCenter.y += SIMPVIEW_BUTTON_1_OFFSET;
button1.center = newCenter;
newCenter = button2.center;
newCenter.y += SIMPVIEW_BUTTON_2_OFFSET;
button2.center = newCenter;
newCenter = button3.center;
newCenter.y += SIMPVIEW_BUTTON_3_OFFSET;
button3.center = newCenter;
newCenter = button4.center;
newCenter.y += SIMPVIEW_BUTTON_4_OFFSET;
button4.center = newCenter;
newCenter = switch1.center;
newCenter.y += SIMPVIEW_SWITCH_1_OFFSET;
switch1.center = newCenter;
newCenter = label1.center;
newCenter.y += SIMPVIEW_LABEL_1_OFFSET;
newCenter.x -= SIMPVIEW_LABEL_1_OFFSETX;
label1.center = newCenter;
CGRect newFrame = self.label.frame;
newFrame.size.height += 45;
newFrame.origin.y += SIMPVIEW_LABEL_OFFSET;
self.label.frame = newFrame;
}
currLayoutOrientation = newOrientation;
}
- (void)adjustAdSize {
[UIView beginAnimations:@"AdResize" context:nil];
[UIView setAnimationDuration:0.7];
CGSize adSize = [adView actualAdSize];
CGRect newFrame = adView.frame;
newFrame.size.height = adSize.height;
newFrame.size.width = adSize.width;
newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/2;
adView.frame = newFrame;
[UIView commitAnimations];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// remove all notification for self
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (UILabel *)label {
return (UILabel *)[self.view viewWithTag:1337];
}
- (void)dealloc {
self.adView.delegate = nil;
self.adView = nil;
[super dealloc];
}
#pragma mark Button handlers
- (IBAction)requestNewAd:(id)sender {
self.label.text = @"Request New Ad pressed! Requesting...";
[adView requestFreshAd];
}
- (IBAction)requestNewConfig:(id)sender {
self.label.text = @"Request New Config pressed! Requesting...";
[adView updateAdWhirlConfig];
}
- (IBAction)rollOver:(id)sender {
self.label.text = @"Roll Over pressed! Requesting...";
[adView rollOver];
}
- (IBAction)showModalView:(id)sender {
ModalViewController *modalViewController = [[[ModalViewController alloc] init] autorelease];
[self presentModalViewController:modalViewController animated:YES];
}
- (IBAction)toggleRefreshAd:(id)sender {
UISwitch *switch1 = (UISwitch *)[self.view viewWithTag:SIMPVIEW_SWITCH_1_TAG];
if (switch1.on) {
[adView doNotIgnoreAutoRefreshTimer];
}
else {
[adView ignoreAutoRefreshTimer];
}
}
#pragma mark AdWhirlDelegate methods
- (NSString *)adWhirlApplicationKey {
return kSampleAppKey;
}
- (UIViewController *)viewControllerForPresentingModalView {
return [((AdWhirlSDK2_SampleAppDelegate *)[[UIApplication sharedApplication] delegate]) navigationController];
}
- (NSURL *)adWhirlConfigURL {
return [NSURL URLWithString:kSampleConfigURL];
}
- (NSURL *)adWhirlImpMetricURL {
return [NSURL URLWithString:kSampleImpMetricURL];
}
- (NSURL *)adWhirlClickMetricURL {
return [NSURL URLWithString:kSampleClickMetricURL];
}
- (NSURL *)adWhirlCustomAdURL {
return [NSURL URLWithString:kSampleCustomAdURL];
}
- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView {
self.label.text = [NSString stringWithFormat:
@"Got ad from %@, size %@",
[adWhirlView mostRecentNetworkName],
NSStringFromCGSize([adWhirlView actualAdSize])];
[self adjustAdSize];
}
- (void)adWhirlDidFailToReceiveAd:(AdWhirlView *)adWhirlView usingBackup:(BOOL)yesOrNo {
self.label.text = [NSString stringWithFormat:
@"Failed to receive ad from %@, %@. Error: %@",
[adWhirlView mostRecentNetworkName],
yesOrNo? @"will use backup" : @"will NOT use backup",
adWhirlView.lastError == nil? @"no error" : [adWhirlView.lastError localizedDescription]];
}
- (void)adWhirlReceivedRequestForDeveloperToFufill:(AdWhirlView *)adWhirlView {
UILabel *replacement = [[UILabel alloc] initWithFrame:kAdWhirlViewDefaultFrame];
replacement.backgroundColor = [UIColor redColor];
replacement.textColor = [UIColor whiteColor];
replacement.textAlignment = UITextAlignmentCenter;
replacement.text = @"Generic Notification";
[adWhirlView replaceBannerViewWith:replacement];
[replacement release];
[self adjustAdSize];
self.label.text = @"Generic Notification";
}
- (void)adWhirlReceivedNotificationAdsAreOff:(AdWhirlView *)adWhirlView {
self.label.text = @"Ads are off";
}
- (void)adWhirlWillPresentFullScreenModal {
NSLog(@"SimpleView: will present full screen modal");
}
- (void)adWhirlDidDismissFullScreenModal {
NSLog(@"SimpleView: did dismiss full screen modal");
}
- (void)adWhirlDidReceiveConfig:(AdWhirlView *)adWhirlView {
self.label.text = @"Received config. Requesting ad...";
}
- (BOOL)adWhirlTestMode {
return NO;
}
- (UIColor *)adWhirlAdBackgroundColor {
return [UIColor purpleColor];
}
- (UIColor *)adWhirlTextColor {
return [UIColor cyanColor];
}
- (CLLocation *)locationInfo {
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
CLLocation *location = [locationManager location];
[locationManager release];
return location;
}
- (NSDate *)dateOfBirth {
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:1979];
[comps setMonth:11];
[comps setDay:6];
NSDate *date = [gregorian dateFromComponents:comps];
[gregorian release];
[comps release];
return date;
}
- (NSString *)postalCode {
return @"31337";
}
- (NSUInteger)incomeLevel {
return 99999;
}
- (NSString *)googleAdSenseCompanyName {
return @"Your Company";
}
- (NSString *)googleAdSenseAppName {
return @"AdWhirl Sample";
}
- (NSString *)googleAdSenseApplicationAppleID {
return @"0";
}
- (NSString *)googleAdSenseKeywords {
return @"iphone+development,ad+mediation";
}
- (NSURL *)googleAdSenseAppWebContentURL {
return [NSURL URLWithString:@"http://www.adwhirl.com"];
}
- (NSArray *)googleAdSenseChannelIDs {
return [NSArray arrayWithObjects:@"0282698142", nil];
}
//extern NSString* const kGADAdSenseTextImageAdType;
//- (NSString *)googleAdSenseAdType {
// return kGADAdSenseTextImageAdType;
//}
- (NSString *)googleAdSenseHostID {
return @"HostID";
}
- (UIColor *)googleAdSenseAdTopBackgroundColor {
return [UIColor orangeColor];
}
- (UIColor *)googleAdSenseAdBorderColor {
return [UIColor redColor];
}
- (UIColor *)googleAdSenseAdLinkColor {
return [UIColor cyanColor];
}
- (UIColor *)googleAdSenseAdURLColor {
return [UIColor orangeColor];
}
- (UIColor *)googleAdSenseAlternateAdColor {
return [UIColor greenColor];
}
- (NSURL *)googleAdSenseAlternateAdURL {
return [NSURL URLWithString:@"http://www.adwhirl.com"];
}
- (NSNumber *)googleAdSenseAllowAdsafeMedium {
return [NSNumber numberWithBool:YES];
}
#pragma mark event methods
- (void)performEvent {
self.label.text = @"Event performed";
}
- (void)performEvent2:(AdWhirlView *)adWhirlView {
UILabel *replacement = [[UILabel alloc] initWithFrame:kAdWhirlViewDefaultFrame];
replacement.backgroundColor = [UIColor blackColor];
replacement.textColor = [UIColor whiteColor];
replacement.textAlignment = UITextAlignmentCenter;
replacement.text = [NSString stringWithFormat:@"Event performed, view %x", adWhirlView];
[adWhirlView replaceBannerViewWith:replacement];
[replacement release];
[self adjustAdSize];
self.label.text = [NSString stringWithFormat:@"Event performed, view %x", adWhirlView];
}
#pragma mark multitasking methods
- (void)enterForeground:(NSNotification *)notification {
AWLogDebug(@"SimpleView entering foreground");
[self.adView updateAdWhirlConfig];
}
@end

View File

@@ -1,34 +0,0 @@
/*
TableController.h
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <UIKit/UIKit.h>
#import "AdWhirlDelegateProtocol.h"
@interface TableController : UIViewController <AdWhirlDelegate, UITableViewDelegate, UITableViewDataSource> {
AdWhirlView *adView;
}
@property (nonatomic,retain) AdWhirlView *adView;
@property (nonatomic,readonly) UILabel *label;
@property (nonatomic,readonly) UITableView *table;
- (void)adjustAdSize;
@end

View File

@@ -1,339 +0,0 @@
/*
TableController.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "AdWhirlSDK2_SampleAppDelegate.h"
#import "TableController.h"
#import "AdWhirlView.h"
#import "SampleConstants.h"
@implementation TableController
@synthesize adView;
- (id)init {
if (self = [super initWithNibName:@"TableController" bundle:nil]) {
self.title = @"Ad In Table";
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.adView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
self.adView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;
}
/*
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
*/
/*
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
*/
/*
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
}
*/
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration {
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
[self.adView rotateToOrientation:toInterfaceOrientation];
[self adjustAdSize];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (UILabel *)label {
return (UILabel *)[self.view viewWithTag:1337];
}
- (UITableView *)table {
return (UITableView *)[self.view viewWithTag:3337];
}
- (void)adjustAdSize {
[UIView beginAnimations:@"AdResize" context:nil];
[UIView setAnimationDuration:0.7];
CGSize adSize = [adView actualAdSize];
CGRect newFrame = adView.frame;
newFrame.size.height = adSize.height;
newFrame.size.width = adSize.width;
newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/2;
adView.frame = newFrame;
[UIView commitAnimations];
}
- (void)dealloc {
self.adView.delegate = nil;
self.adView = nil;
[super dealloc];
}
#pragma mark Table view methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
static NSString *AdCellIdentifier = @"AdCell";
NSString *cellId = CellIdentifier;
if (indexPath.row == 0) {
cellId = AdCellIdentifier;
}
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (cell == nil) {
if ([UITableViewCell instancesRespondToSelector:@selector(initWithStyle:reuseIdentifier:)]) {
// iPhone SDK 3.0
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId] autorelease];
}
else {
// iPhone SDK 2.2.1
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:cellId] autorelease];
}
if (cellId == AdCellIdentifier) {
[cell.contentView addSubview:adView];
}
}
switch (indexPath.row) {
case 0:
break;
case 1:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = @"Request New Ad";
}
else {
// iPhone SDK 2.2.1
cell.text = @"Request New Ad";
}
break;
case 2:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = @"Roll Over";
}
else {
// iPhone SDK 2.2.1
cell.text = @"Roll Over";
}
break;
default:
if ([cell respondsToSelector:@selector(textLabel)]) {
// iPhone SDK 3.0
cell.textLabel.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
}
else {
// iPhone SDK 2.2.1
cell.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
}
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.row) {
case 1:
self.label.text = @"Request New Ad pressed! Requesting...";
[adView requestFreshAd];
break;
case 2:
self.label.text = @"Roll Over pressed! Requesting...";
[adView rollOver];
break;
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0 && indexPath.row == 0) {
return CGRectGetHeight(adView.bounds);
}
return self.table.rowHeight;
}
#pragma mark AdWhirlDelegate methods
- (NSString *)adWhirlApplicationKey {
return kSampleAppKey;
}
- (UIViewController *)viewControllerForPresentingModalView {
return [((AdWhirlSDK2_SampleAppDelegate *)[[UIApplication sharedApplication] delegate]) navigationController];
}
- (NSURL *)adWhirlConfigURL {
return [NSURL URLWithString:kSampleConfigURL];
}
- (NSURL *)adWhirlImpMetricURL {
return [NSURL URLWithString:kSampleImpMetricURL];
}
- (NSURL *)adWhirlClickMetricURL {
return [NSURL URLWithString:kSampleClickMetricURL];
}
- (NSURL *)adWhirlCustomAdURL {
return [NSURL URLWithString:kSampleCustomAdURL];
}
- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView {
self.label.text = [NSString stringWithFormat:
@"Got ad from %@, size %@",
[adWhirlView mostRecentNetworkName],
NSStringFromCGSize([adWhirlView actualAdSize])];
[self adjustAdSize];
}
- (void)adWhirlDidFailToReceiveAd:(AdWhirlView *)adWhirlView usingBackup:(BOOL)yesOrNo {
self.label.text = [NSString stringWithFormat:
@"Failed to receive ad from %@, %@. Error: %@",
[adWhirlView mostRecentNetworkName],
yesOrNo? @"will use backup" : @"will NOT use backup",
adWhirlView.lastError == nil? @"no error" : [adWhirlView.lastError localizedDescription]];
}
- (void)adWhirlReceivedRequestForDeveloperToFufill:(AdWhirlView *)adWhirlView {
UILabel *replacement = [[UILabel alloc] initWithFrame:kAdWhirlViewDefaultFrame];
replacement.backgroundColor = [UIColor redColor];
replacement.textColor = [UIColor whiteColor];
replacement.textAlignment = UITextAlignmentCenter;
replacement.text = @"Generic Notification";
[adWhirlView replaceBannerViewWith:replacement];
[replacement release];
[self adjustAdSize];
self.label.text = @"Generic Notification";
}
- (void)adWhirlDidAnimateToNewAdIn:(AdWhirlView *)adWhirlView {
[self.table reloadData];
}
- (void)adWhirlReceivedNotificationAdsAreOff:(AdWhirlView *)adWhirlView {
self.label.text = @"Ads are off";
}
- (void)adWhirlWillPresentFullScreenModal {
NSLog(@"TableView: will present full screen modal");
}
- (void)adWhirlDidDismissFullScreenModal {
NSLog(@"TableView: did dismiss full screen modal");
}
- (void)adWhirlDidReceiveConfig:(AdWhirlView *)adWhirlView {
self.label.text = @"Received config. Requesting ad...";
}
- (BOOL)adWhirlTestMode {
return NO;
}
- (NSUInteger)jumptapTransitionType {
return 3;
}
- (NSUInteger)quattroWirelessAdType {
return 2;
}
- (NSString *)googleAdSenseCompanyName {
return @"Your Company";
}
- (NSString *)googleAdSenseAppName {
return @"AdWhirl Sample";
}
- (NSString *)googleAdSenseApplicationAppleID {
return @"0";
}
- (NSString *)googleAdSenseKeywords {
return @"apple,iphone,ipad,adwhirl";
}
//extern NSString* const kGADAdSenseImageAdType;
//- (NSString *)googleAdSenseAdType {
// return kGADAdSenseImageAdType;
//}
#pragma mark event methods
- (void)performEvent {
self.label.text = @"Event performed";
}
- (void)performEvent2:(AdWhirlView *)adWhirlView {
UILabel *replacement = [[UILabel alloc] initWithFrame:kAdWhirlViewDefaultFrame];
replacement.backgroundColor = [UIColor blackColor];
replacement.textColor = [UIColor whiteColor];
replacement.textAlignment = UITextAlignmentCenter;
replacement.text = [NSString stringWithFormat:@"Event performed, view %x", adWhirlView];
[adWhirlView replaceBannerViewWith:replacement];
[replacement release];
[self adjustAdSize];
self.label.text = [NSString stringWithFormat:@"Event performed, view %x", adWhirlView];
}
@end

View File

@@ -1,513 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">768</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">87</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="8"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="157223416">
<reference key="NSNextResponder"/>
<int key="NSvFlags">301</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITableView" id="873029372">
<reference key="NSNextResponder" ref="157223416"/>
<int key="NSvFlags">311</int>
<string key="NSFrameSize">{320, 182}</string>
<reference key="NSSuperview" ref="157223416"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">3337</int>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIBouncesZoom">NO</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<float key="IBUIRowHeight">44</float>
<float key="IBUISectionHeaderHeight">22</float>
<float key="IBUISectionFooterHeight">22</float>
</object>
<object class="IBUILabel" id="725208156">
<reference key="NSNextResponder" ref="157223416"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{6, 242}, {304, 164}}</string>
<reference key="NSSuperview" ref="157223416"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">1337</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Requesting Ad...</string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUITextColor" id="598086672">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUINumberOfLines">9</int>
<int key="IBUITextAlignment">1</int>
</object>
<object class="IBUILabel" id="587745129">
<reference key="NSNextResponder" ref="157223416"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{6, 191}, {304, 43}}</string>
<reference key="NSSuperview" ref="157223416"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC45ODMwMjc3NTYyIDEgMC43OTU2NDI2NzQAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">103</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText"/>
<reference key="IBUITextColor" ref="598086672"/>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUINumberOfLines">2</int>
<int key="IBUITextAlignment">1</int>
<int key="IBUILineBreakMode">0</int>
</object>
</object>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace">
<int key="NSID">2</int>
</object>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
<bool key="IBUIPrompted">NO</bool>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="157223416"/>
</object>
<int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="873029372"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">14</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="873029372"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">15</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="157223416"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="725208156"/>
<reference ref="587745129"/>
<reference ref="873029372"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="873029372"/>
<reference key="parent" ref="157223416"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="725208156"/>
<reference key="parent" ref="157223416"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="587745129"/>
<reference key="parent" ref="157223416"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>16.IBPluginDependency</string>
<string>4.IBEditorWindowLastContentRect</string>
<string>4.IBPluginDependency</string>
<string>8.IBEditorWindowLastContentRect</string>
<string>8.IBPluginDependency</string>
<string>8.IBViewEditorWindowController.showingLayoutRectangles</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>LocationController</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{-934, 473}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{150, 163}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">16</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">LocationController</string>
<string key="superclassName">TableController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/LocationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">TableController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/TableController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="104847773">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="104847773"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIScrollView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="768" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample-3_x.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">87</string>
</data>
</archive>

View File

@@ -1,525 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">768</int>
<string key="IBDocument.SystemVersion">10B504</string>
<string key="IBDocument.InterfaceBuilderVersion">740</string>
<string key="IBDocument.AppKitVersion">1038.2</string>
<string key="IBDocument.HIToolboxVersion">437.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">62</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="9"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
</object>
<object class="IBProxyObject" id="302016328">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUICustomObject" id="664661524"/>
<object class="IBUIWindow" id="380026005">
<nil key="NSNextResponder"/>
<int key="NSvFlags">1316</int>
<object class="NSPSMatrix" key="NSFrameMatrix"/>
<string key="NSFrameSize">{320, 480}</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
</object>
<object class="IBUINavigationController" id="701001926">
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUINavigationBar" key="IBUINavigationBar" id="207850653">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{0, 0}</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
</object>
<object class="NSMutableArray" key="IBUIViewControllers">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIViewController" id="619226028">
<object class="IBUINavigationItem" key="IBUINavigationItem" id="394667715">
<reference key="IBUINavigationBar"/>
<string key="IBUITitle">AdWhirl Samples</string>
</object>
<reference key="IBUIParentViewController" ref="701001926"/>
<string key="IBUINibName">RootViewController</string>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
</object>
</object>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="664661524"/>
</object>
<int key="connectionID">4</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="664661524"/>
<reference key="destination" ref="380026005"/>
</object>
<int key="connectionID">5</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">navigationController</string>
<reference key="source" ref="664661524"/>
<reference key="destination" ref="701001926"/>
</object>
<int key="connectionID">15</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="380026005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="664661524"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="302016328"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="701001926"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="207850653"/>
<reference ref="619226028"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="207850653"/>
<reference key="parent" ref="701001926"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">13</int>
<reference key="object" ref="619226028"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="394667715"/>
</object>
<reference key="parent" ref="701001926"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="394667715"/>
<reference key="parent" ref="619226028"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>11.IBPluginDependency</string>
<string>13.CustomClassName</string>
<string>13.IBPluginDependency</string>
<string>2.IBAttributePlaceholdersKey</string>
<string>2.IBEditorWindowLastContentRect</string>
<string>2.IBPluginDependency</string>
<string>3.CustomClassName</string>
<string>3.IBPluginDependency</string>
<string>9.IBEditorWindowLastContentRect</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIApplication</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>RootViewController</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<object class="NSMutableDictionary">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<string>{{673, 376}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>AdWhirlSDK2_SampleAppDelegate</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{27, 281}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">15</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">AdWhirlSDK2_SampleAppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>navigationController</string>
<string>window</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UINavigationController</string>
<string>UIWindow</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/AdWhirlSDK2_SampleAppDelegate.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">RootViewController</string>
<string key="superclassName">UITableViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/RootViewController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="701728205">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIApplication</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIBarButtonItem</string>
<string key="superclassName">UIBarItem</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIBarItem</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UINavigationBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="465903119">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UINavigationController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="31360653">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UINavigationItem</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="465903119"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="701728205"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<reference key="sourceIdentifier" ref="31360653"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIWindow</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="768" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">3.1</string>
</data>
</archive>

View File

@@ -1,493 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">768</int>
<string key="IBDocument.SystemVersion">10C540</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.25</string>
<string key="IBDocument.HIToolboxVersion">458.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">87</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="191373211">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIButton" id="618284259">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">301</int>
<string key="NSFrame">{{121, 192}, {57, 57}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">15</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUIHighlightedTitleColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleShadowColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
<object class="NSCustomResource" key="IBUINormalImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">adwhirlsample_icon.png</string>
</object>
</object>
<object class="IBUILabel" id="44270136">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">301</int>
<string key="NSFrame">{{20, 114}, {260, 21}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Tap the logo to dismiss</string>
<nil key="IBUIHighlightedColor"/>
<object class="NSColor" key="IBUIShadowColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC45MDg3NTkxMjQxIDAuNzUAA</bytes>
</object>
<string key="IBUIShadowOffset">{2, 2}</string>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUITextAlignment">1</int>
</object>
</object>
<string key="NSFrameSize">{300, 440}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">10</int>
<object class="NSImage" key="NSImage">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{84, 1}</string>
<object class="NSMutableArray" key="NSReps">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAAAVjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P8ADQEAAAMAAAABAFQAAAEB
AAMAAAABAAEAAAECAAMAAAAEAAAB+gEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAAEAAAEXAAQAAAABAAABUAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
</object>
</object>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
</object>
<string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="191373211"/>
</object>
<int key="connectionID">3</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">dismiss:</string>
<reference key="source" ref="618284259"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">6</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="191373211"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="618284259"/>
<reference ref="44270136"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="618284259"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="44270136"/>
<reference key="parent" ref="191373211"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>ModalViewController</string>
<string>UIResponder</string>
<string>{{414, 346}, {300, 440}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">7</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">ModalViewController</string>
<string key="superclassName">UIViewController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">dismiss:</string>
<string key="NS.object.0">id</string>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/ModalViewController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="94461877">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIButton</string>
<string key="superclassName">UIControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIControl</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="94461877"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="768" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NS.key.0">adwhirlsample_icon.png</string>
<string key="NS.object.0">{57, 57}</string>
</object>
<string key="IBCocoaTouchPluginVersion">87</string>
</data>
</archive>

View File

@@ -1,380 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">10A405</string>
<string key="IBDocument.InterfaceBuilderVersion">732</string>
<string key="IBDocument.AppKitVersion">1031</string>
<string key="IBDocument.HIToolboxVersion">432.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">62</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
</object>
<object class="IBProxyObject" id="371349661">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUITableView" id="709618507">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 247}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<bool key="IBUIBouncesZoom">NO</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
<float key="IBUIRowHeight">44</float>
<float key="IBUISectionHeaderHeight">22</float>
<float key="IBUISectionFooterHeight">22</float>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="709618507"/>
</object>
<int key="connectionID">3</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="709618507"/>
<reference key="destination" ref="841351856"/>
</object>
<int key="connectionID">4</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="709618507"/>
<reference key="destination" ref="841351856"/>
</object>
<int key="connectionID">5</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="371349661"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="709618507"/>
<reference key="parent" ref="0"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>2.IBEditorWindowLastContentRect</string>
<string>2.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>RootViewController</string>
<string>UIResponder</string>
<string>{{0, 598}, {320, 247}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">5</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">RootViewController</string>
<string key="superclassName">UITableViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/RootViewController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="654420027">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="654420027"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIScrollView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="784" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">3.1</string>
</data>
</archive>

View File

@@ -1,723 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">804</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">123</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="191373211">
<reference key="NSNextResponder"/>
<int key="NSvFlags">293</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIButton" id="261770994">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 106}, {136, 37}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">607701</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<object class="NSFont" key="IBUIFont" id="228408912">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">15</double>
<int key="NSfFlags">16</int>
</object>
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Request New Ad</string>
<object class="NSColor" key="IBUIHighlightedTitleColor" id="486626809">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
</object>
<object class="NSColor" key="IBUINormalTitleShadowColor" id="532761114">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<object class="IBUIButton" id="747892529">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{164, 106}, {136, 37}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">607702</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<reference key="IBUIFont" ref="228408912"/>
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Roll Over</string>
<reference key="IBUIHighlightedTitleColor" ref="486626809"/>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
</object>
<reference key="IBUINormalTitleShadowColor" ref="532761114"/>
</object>
<object class="IBUILabel" id="429157161">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 243}, {280, 153}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">1337</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Requesting Ad...</string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xMjc3MzcyMjYzIDAgMAA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUINumberOfLines">9</int>
<int key="IBUITextAlignment">1</int>
</object>
<object class="IBUIButton" id="665643136">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 153}, {136, 37}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">607703</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<reference key="IBUIFont" ref="228408912"/>
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Show Modal View</string>
<reference key="IBUIHighlightedTitleColor" ref="486626809"/>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
</object>
<reference key="IBUINormalTitleShadowColor" ref="532761114"/>
</object>
<object class="IBUISwitch" id="982372544">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">293</int>
<string key="NSFrame">{{206, 177}, {94, 27}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">706613</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIOn">YES</bool>
</object>
<object class="IBUILabel" id="686242456">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{206, 154}, {66, 21}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<int key="IBUITag">7066130</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Refresh:</string>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
</object>
<object class="IBUIButton" id="271254033">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">295</int>
<string key="NSFrame">{{20, 198}, {157, 37}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">607704</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<reference key="IBUIFont" ref="228408912"/>
<int key="IBUIButtonType">1</int>
<string key="IBUINormalTitle">Request New Config</string>
<reference key="IBUIHighlightedTitleColor" ref="486626809"/>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
</object>
<reference key="IBUINormalTitleShadowColor" ref="532761114"/>
</object>
</object>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">10</int>
<object class="NSImage" key="NSImage">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{84, 1}</string>
<object class="NSMutableArray" key="NSReps">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAAAVjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P8ADQEAAAMAAAABAFQAAAEB
AAMAAAABAAEAAAECAAMAAAAEAAAB+gEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAAEAAAEXAAQAAAABAAABUAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
</object>
</object>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
</object>
<string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
<bool key="IBUIPrompted">NO</bool>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="191373211"/>
</object>
<int key="connectionID">3</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">requestNewAd:</string>
<reference key="source" ref="261770994"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">7</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">rollOver:</string>
<reference key="source" ref="747892529"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">8</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">showModalView:</string>
<reference key="source" ref="665643136"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">10</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">toggleRefreshAd:</string>
<reference key="source" ref="982372544"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">13</int>
</object>
<int key="connectionID">16</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">requestNewConfig:</string>
<reference key="source" ref="271254033"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">18</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="191373211"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="261770994"/>
<reference ref="429157161"/>
<reference ref="982372544"/>
<reference ref="686242456"/>
<reference ref="271254033"/>
<reference ref="747892529"/>
<reference ref="665643136"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="261770994"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="747892529"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="429157161"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="665643136"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="982372544"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="686242456"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="271254033"/>
<reference key="parent" ref="191373211"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
<string>15.IBPluginDependency</string>
<string>17.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.IBViewBoundsToFrameTransform</string>
<string>6.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
<string>9.IBViewBoundsToFrameTransform</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>SimpleViewController</string>
<string>UIResponder</string>
<string>{{688, 498}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDJAAAww0AAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAwzwAAA</bytes>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">18</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">SimpleViewController</string>
<string key="superclassName">UIViewController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>requestNewAd:</string>
<string>requestNewConfig:</string>
<string>rollOver:</string>
<string>showModalView:</string>
<string>toggleRefreshAd:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>requestNewAd:</string>
<string>requestNewConfig:</string>
<string>rollOver:</string>
<string>showModalView:</string>
<string>toggleRefreshAd:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">requestNewAd:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">requestNewConfig:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">rollOver:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showModalView:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleRefreshAd:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SimpleViewController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="222592287">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIButton</string>
<string key="superclassName">UIControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIControl</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="222592287"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISwitch</string>
<string key="superclassName">UIControl</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISwitch.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">MediaPlayer.framework/Headers/MPMoviePlayerViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">123</string>
</data>
</archive>

View File

@@ -1,468 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">768</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">87</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="8"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="157223416">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUITableView" id="873029372">
<reference key="NSNextResponder" ref="157223416"/>
<int key="NSvFlags">306</int>
<string key="NSFrameSize">{320, 255}</string>
<reference key="NSSuperview" ref="157223416"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">3337</int>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIBouncesZoom">NO</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<float key="IBUIRowHeight">44</float>
<float key="IBUISectionHeaderHeight">22</float>
<float key="IBUISectionFooterHeight">22</float>
</object>
<object class="IBUILabel" id="725208156">
<reference key="NSNextResponder" ref="157223416"/>
<int key="NSvFlags">282</int>
<string key="NSFrame">{{20, 263}, {280, 147}}</string>
<reference key="NSSuperview" ref="157223416"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">1337</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Requesting Ad...</string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica-Bold</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUINumberOfLines">9</int>
<int key="IBUITextAlignment">1</int>
</object>
</object>
<string key="NSFrameSize">{320, 416}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace">
<int key="NSID">2</int>
</object>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
<bool key="IBUIPrompted">NO</bool>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="157223416"/>
</object>
<int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="873029372"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">14</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="873029372"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">15</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="157223416"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="873029372"/>
<reference ref="725208156"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="873029372"/>
<reference key="parent" ref="157223416"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="725208156"/>
<reference key="parent" ref="157223416"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>4.IBEditorWindowLastContentRect</string>
<string>4.IBPluginDependency</string>
<string>8.IBEditorWindowLastContentRect</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>TableController</string>
<string>UIResponder</string>
<string>{{-934, 473}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{159, 187}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">15</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">TableController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/TableController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="104847773">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="104847773"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIScrollView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="768" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">AdWhirlSDK2_Sample-3_x.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">87</string>
</data>
</archive>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,29 +0,0 @@
/*
main.m
Copyright 2009 AdMob, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}

View File

@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string>MainWindow_iPhone</string>
<key>NSMainNibFile~ipad</key>
<string>MainWindow_iPad</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>

View File

@@ -1,766 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
1B183C6A1212147C0026647E /* MainWindow_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2860E327111B887F00E27156 /* MainWindow_iPhone.xib */; };
1B183C6B1212147C0026647E /* MainWindow_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2860E32D111B888700E27156 /* MainWindow_iPad.xib */; };
1B183C6C1212147C0026647E /* AdWhirlWebBrowser.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B264C0A120B6E0000DB41AD /* AdWhirlWebBrowser.xib */; };
1B183C6D121214860026647E /* AppDelegate_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = 2860E326111B887F00E27156 /* AppDelegate_iPhone.m */; };
1B183C6E121214860026647E /* AppDelegate_iPad.m in Sources */ = {isa = PBXBuildFile; fileRef = 2860E32C111B888700E27156 /* AppDelegate_iPad.m */; };
1B183C6F121214860026647E /* GTMObjC2Runtime.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BBC120B6D1600DB41AD /* GTMObjC2Runtime.m */; };
1B183C70121214860026647E /* GTMRegex.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BBE120B6D1600DB41AD /* GTMRegex.m */; };
1B183C71121214860026647E /* GTMIPhoneUnitTestDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BC2120B6D1600DB41AD /* GTMIPhoneUnitTestDelegate.m */; };
1B183C72121214860026647E /* GTMIPhoneUnitTestMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BC3120B6D1600DB41AD /* GTMIPhoneUnitTestMain.m */; };
1B183C73121214860026647E /* GTMSenTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BC5120B6D1600DB41AD /* GTMSenTestCase.m */; };
1B183C74121214860026647E /* GTMUnitTestDevLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BC7120B6D1600DB41AD /* GTMUnitTestDevLog.m */; };
1B183C75121214860026647E /* AdWhirlAdapterCustom.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BF4120B6E0000DB41AD /* AdWhirlAdapterCustom.m */; };
1B183C76121214860026647E /* AdWhirlAdapterEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BF6120B6E0000DB41AD /* AdWhirlAdapterEvent.m */; };
1B183C77121214860026647E /* AdWhirlAdapterGeneric.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BF8120B6E0000DB41AD /* AdWhirlAdapterGeneric.m */; };
1B183C78121214860026647E /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BFA120B6E0000DB41AD /* AdWhirlAdNetworkAdapter+Helpers.m */; };
1B183C79121214860026647E /* AdWhirlAdNetworkAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BFB120B6E0000DB41AD /* AdWhirlAdNetworkAdapter.m */; };
1B183C7A121214860026647E /* AdWhirlAdNetworkConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BFD120B6E0000DB41AD /* AdWhirlAdNetworkConfig.m */; };
1B183C7B121214860026647E /* AdWhirlAdNetworkRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264BFF120B6E0000DB41AD /* AdWhirlAdNetworkRegistry.m */; };
1B183C7C121214860026647E /* AdWhirlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C01120B6E0000DB41AD /* AdWhirlConfig.m */; };
1B183C7D121214860026647E /* AdWhirlCustomAdView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C03120B6E0000DB41AD /* AdWhirlCustomAdView.m */; };
1B183C7E121214860026647E /* AdWhirlError.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C05120B6E0000DB41AD /* AdWhirlError.m */; };
1B183C7F121214860026647E /* AdWhirlLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C07120B6E0000DB41AD /* AdWhirlLog.m */; };
1B183C80121214860026647E /* AdWhirlView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C09120B6E0000DB41AD /* AdWhirlView.m */; };
1B183C81121214860026647E /* AdWhirlWebBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C0C120B6E0000DB41AD /* AdWhirlWebBrowserController.m */; };
1B183C82121214860026647E /* ARRollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B264C0D120B6E0000DB41AD /* ARRollerView.m */; };
1B183C83121214860026647E /* CDataScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA8128120B727200CCAD25 /* CDataScanner.m */; };
1B183C84121214860026647E /* CDataScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA812B120B727200CCAD25 /* CDataScanner_Extensions.m */; };
1B183C85121214860026647E /* NSCharacterSet_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA812D120B727200CCAD25 /* NSCharacterSet_Extensions.m */; };
1B183C86121214860026647E /* NSDictionary_JSONExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA812F120B727200CCAD25 /* NSDictionary_JSONExtensions.m */; };
1B183C87121214860026647E /* NSScanner_Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA8131120B727200CCAD25 /* NSScanner_Extensions.m */; };
1B183C88121214860026647E /* CJSONDataSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA8134120B727200CCAD25 /* CJSONDataSerializer.m */; };
1B183C89121214860026647E /* CJSONDeserializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA8136120B727200CCAD25 /* CJSONDeserializer.m */; };
1B183C8A121214860026647E /* CJSONScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA8138120B727200CCAD25 /* CJSONScanner.m */; };
1B183C8B121214860026647E /* CJSONSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA813A120B727200CCAD25 /* CJSONSerializer.m */; };
1B183C8C121214860026647E /* CSerializedJSONData.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA813C120B727200CCAD25 /* CSerializedJSONData.m */; };
1B183C8D121214860026647E /* AdWhirlAdNetworkConfigTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BDA8250120B786500CCAD25 /* AdWhirlAdNetworkConfigTest.m */; };
1B183C8E121214860026647E /* AdWhirlClassWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6898AD120C8B7A0080EAC1 /* AdWhirlClassWrapper.m */; };
1B183C8F121214860026647E /* GTMDevLogUnitTestingBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BADCC45120CBF86005D60B5 /* GTMDevLogUnitTestingBridge.m */; };
1B183C90121214860026647E /* AdWhirlConfigTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B183A871211C22B0026647E /* AdWhirlConfigTest.m */; };
1B183C91121214860026647E /* UIColor+AdWhirlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B183A901211C61B0026647E /* UIColor+AdWhirlConfig.m */; };
1B183C92121214860026647E /* UIColor+AdWhirlConfigTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B183AB71211C8E90026647E /* UIColor+AdWhirlConfigTest.m */; };
1B183D84121214910026647E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1B183D85121214910026647E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
1B183D86121214910026647E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
1B183D87121214910026647E /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BDA8195120B751500CCAD25 /* CoreLocation.framework */; };
1B183D88121214910026647E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BDA819F120B751500CCAD25 /* QuartzCore.framework */; };
1B183D89121214910026647E /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BDA81A1120B751500CCAD25 /* SystemConfiguration.framework */; };
1B183D8A121214910026647E /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BADCBA8120CACBE005D60B5 /* libOCMock.a */; };
1B4905A81230815300BAECDE /* AdWhirlViewTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B4905A71230815300BAECDE /* AdWhirlViewTest.m */; };
1B6CE7DE12149A8200E44A28 /* AdWhirlConfigStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6CE7DD12149A8200E44A28 /* AdWhirlConfigStore.m */; };
1B6CE7E112149A9E00E44A28 /* AdWhirlConfigStoreTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6CE7E012149A9E00E44A28 /* AdWhirlConfigStoreTest.m */; };
1B6CE8891214A65800E44A28 /* AWNetworkReachabilityWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B6CE8881214A65800E44A28 /* AWNetworkReachabilityWrapper.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1B183A871211C22B0026647E /* AdWhirlConfigTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfigTest.m; sourceTree = "<group>"; wrapsLines = 1; };
1B183A8F1211C61B0026647E /* UIColor+AdWhirlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+AdWhirlConfig.h"; sourceTree = "<group>"; };
1B183A901211C61B0026647E /* UIColor+AdWhirlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+AdWhirlConfig.m"; sourceTree = "<group>"; };
1B183AB71211C8E90026647E /* UIColor+AdWhirlConfigTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+AdWhirlConfigTest.m"; sourceTree = "<group>"; };
1B183C5C121212B70026647E /* AdWhirlTests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AdWhirlTests.app; sourceTree = BUILT_PRODUCTS_DIR; };
1B264BBB120B6D1600DB41AD /* GTMObjC2Runtime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMObjC2Runtime.h; sourceTree = "<group>"; };
1B264BBC120B6D1600DB41AD /* GTMObjC2Runtime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMObjC2Runtime.m; sourceTree = "<group>"; };
1B264BBD120B6D1600DB41AD /* GTMRegex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMRegex.h; sourceTree = "<group>"; };
1B264BBE120B6D1600DB41AD /* GTMRegex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMRegex.m; sourceTree = "<group>"; };
1B264BBF120B6D1600DB41AD /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
1B264BC1120B6D1600DB41AD /* GTMIPhoneUnitTestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMIPhoneUnitTestDelegate.h; sourceTree = "<group>"; };
1B264BC2120B6D1600DB41AD /* GTMIPhoneUnitTestDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMIPhoneUnitTestDelegate.m; sourceTree = "<group>"; };
1B264BC3120B6D1600DB41AD /* GTMIPhoneUnitTestMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMIPhoneUnitTestMain.m; sourceTree = "<group>"; };
1B264BC4120B6D1600DB41AD /* GTMSenTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMSenTestCase.h; sourceTree = "<group>"; };
1B264BC5120B6D1600DB41AD /* GTMSenTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMSenTestCase.m; sourceTree = "<group>"; };
1B264BC6120B6D1600DB41AD /* GTMUnitTestDevLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMUnitTestDevLog.h; sourceTree = "<group>"; };
1B264BC7120B6D1600DB41AD /* GTMUnitTestDevLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMUnitTestDevLog.m; sourceTree = "<group>"; };
1B264BC8120B6D1600DB41AD /* RunIPhoneUnitTest.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = RunIPhoneUnitTest.sh; sourceTree = "<group>"; };
1B264BD9120B6E0000DB41AD /* AdWhirlAdapterAdMob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterAdMob.h; sourceTree = "<group>"; };
1B264BDA120B6E0000DB41AD /* AdWhirlAdapterAdMob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterAdMob.m; sourceTree = "<group>"; };
1B264BDB120B6E0000DB41AD /* AdWhirlAdapterGoogleAdSense.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGoogleAdSense.h; sourceTree = "<group>"; };
1B264BDC120B6E0000DB41AD /* AdWhirlAdapterGoogleAdSense.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGoogleAdSense.m; sourceTree = "<group>"; };
1B264BDD120B6E0000DB41AD /* AdWhirlAdapterGreystripe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGreystripe.h; sourceTree = "<group>"; };
1B264BDE120B6E0000DB41AD /* AdWhirlAdapterGreystripe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGreystripe.m; sourceTree = "<group>"; };
1B264BDF120B6E0000DB41AD /* AdWhirlAdapterIAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterIAd.h; sourceTree = "<group>"; };
1B264BE0120B6E0000DB41AD /* AdWhirlAdapterIAd.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterIAd.m; sourceTree = "<group>"; };
1B264BE1120B6E0000DB41AD /* AdWhirlAdapterInMobi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterInMobi.h; sourceTree = "<group>"; };
1B264BE2120B6E0000DB41AD /* AdWhirlAdapterInMobi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterInMobi.m; sourceTree = "<group>"; };
1B264BE3120B6E0000DB41AD /* AdWhirlAdapterJumpTap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterJumpTap.h; sourceTree = "<group>"; };
1B264BE4120B6E0000DB41AD /* AdWhirlAdapterJumpTap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterJumpTap.m; sourceTree = "<group>"; };
1B264BE5120B6E0000DB41AD /* AdWhirlAdapterMdotM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMdotM.h; sourceTree = "<group>"; };
1B264BE6120B6E0000DB41AD /* AdWhirlAdapterMdotM.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMdotM.m; sourceTree = "<group>"; };
1B264BE7120B6E0000DB41AD /* AdWhirlAdapterMillennial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterMillennial.h; sourceTree = "<group>"; };
1B264BE8120B6E0000DB41AD /* AdWhirlAdapterMillennial.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterMillennial.m; sourceTree = "<group>"; };
1B264BE9120B6E0000DB41AD /* AdWhirlAdapterQuattro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterQuattro.h; sourceTree = "<group>"; };
1B264BEA120B6E0000DB41AD /* AdWhirlAdapterQuattro.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterQuattro.m; sourceTree = "<group>"; };
1B264BEB120B6E0000DB41AD /* AdWhirlAdapterVideoEgg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterVideoEgg.h; sourceTree = "<group>"; };
1B264BEC120B6E0000DB41AD /* AdWhirlAdapterVideoEgg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterVideoEgg.m; sourceTree = "<group>"; };
1B264BED120B6E0000DB41AD /* AdWhirlAdapterZestADZ.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterZestADZ.h; sourceTree = "<group>"; };
1B264BEE120B6E0000DB41AD /* AdWhirlAdapterZestADZ.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterZestADZ.m; sourceTree = "<group>"; };
1B264BEF120B6E0000DB41AD /* AdWhirlAdNetworkAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkAdapter.h; sourceTree = "<group>"; };
1B264BF0120B6E0000DB41AD /* AdWhirlDelegateProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlDelegateProtocol.h; sourceTree = "<group>"; };
1B264BF1120B6E0000DB41AD /* AdWhirlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlView.h; sourceTree = "<group>"; };
1B264BF3120B6E0000DB41AD /* AdWhirlAdapterCustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterCustom.h; sourceTree = "<group>"; };
1B264BF4120B6E0000DB41AD /* AdWhirlAdapterCustom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterCustom.m; sourceTree = "<group>"; };
1B264BF5120B6E0000DB41AD /* AdWhirlAdapterEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterEvent.h; sourceTree = "<group>"; };
1B264BF6120B6E0000DB41AD /* AdWhirlAdapterEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterEvent.m; sourceTree = "<group>"; };
1B264BF7120B6E0000DB41AD /* AdWhirlAdapterGeneric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdapterGeneric.h; sourceTree = "<group>"; };
1B264BF8120B6E0000DB41AD /* AdWhirlAdapterGeneric.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdapterGeneric.m; sourceTree = "<group>"; };
1B264BF9120B6E0000DB41AD /* AdWhirlAdNetworkAdapter+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlAdNetworkAdapter+Helpers.h"; sourceTree = "<group>"; };
1B264BFA120B6E0000DB41AD /* AdWhirlAdNetworkAdapter+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AdWhirlAdNetworkAdapter+Helpers.m"; sourceTree = "<group>"; };
1B264BFB120B6E0000DB41AD /* AdWhirlAdNetworkAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkAdapter.m; sourceTree = "<group>"; };
1B264BFC120B6E0000DB41AD /* AdWhirlAdNetworkConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkConfig.h; sourceTree = "<group>"; };
1B264BFD120B6E0000DB41AD /* AdWhirlAdNetworkConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkConfig.m; sourceTree = "<group>"; };
1B264BFE120B6E0000DB41AD /* AdWhirlAdNetworkRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlAdNetworkRegistry.h; sourceTree = "<group>"; };
1B264BFF120B6E0000DB41AD /* AdWhirlAdNetworkRegistry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkRegistry.m; sourceTree = "<group>"; };
1B264C00120B6E0000DB41AD /* AdWhirlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlConfig.h; sourceTree = "<group>"; };
1B264C01120B6E0000DB41AD /* AdWhirlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfig.m; sourceTree = "<group>"; };
1B264C02120B6E0000DB41AD /* AdWhirlCustomAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlCustomAdView.h; sourceTree = "<group>"; };
1B264C03120B6E0000DB41AD /* AdWhirlCustomAdView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlCustomAdView.m; sourceTree = "<group>"; };
1B264C04120B6E0000DB41AD /* AdWhirlError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlError.h; sourceTree = "<group>"; };
1B264C05120B6E0000DB41AD /* AdWhirlError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlError.m; sourceTree = "<group>"; };
1B264C06120B6E0000DB41AD /* AdWhirlLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlLog.h; sourceTree = "<group>"; };
1B264C07120B6E0000DB41AD /* AdWhirlLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlLog.m; sourceTree = "<group>"; };
1B264C08120B6E0000DB41AD /* AdWhirlView+.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AdWhirlView+.h"; sourceTree = "<group>"; };
1B264C09120B6E0000DB41AD /* AdWhirlView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlView.m; sourceTree = "<group>"; };
1B264C0A120B6E0000DB41AD /* AdWhirlWebBrowser.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AdWhirlWebBrowser.xib; sourceTree = "<group>"; };
1B264C0B120B6E0000DB41AD /* AdWhirlWebBrowserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlWebBrowserController.h; sourceTree = "<group>"; };
1B264C0C120B6E0000DB41AD /* AdWhirlWebBrowserController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlWebBrowserController.m; sourceTree = "<group>"; };
1B264C0D120B6E0000DB41AD /* ARRollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRollerView.m; sourceTree = "<group>"; };
1B264C0F120B6E0000DB41AD /* ARRollerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerProtocol.h; sourceTree = "<group>"; };
1B264C10120B6E0000DB41AD /* ARRollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRollerView.h; sourceTree = "<group>"; };
1B4905A71230815300BAECDE /* AdWhirlViewTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlViewTest.m; sourceTree = "<group>"; };
1B6898AC120C8B7A0080EAC1 /* AdWhirlClassWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlClassWrapper.h; sourceTree = "<group>"; };
1B6898AD120C8B7A0080EAC1 /* AdWhirlClassWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlClassWrapper.m; sourceTree = "<group>"; };
1B6CE7DC12149A8200E44A28 /* AdWhirlConfigStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlConfigStore.h; sourceTree = "<group>"; };
1B6CE7DD12149A8200E44A28 /* AdWhirlConfigStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfigStore.m; sourceTree = "<group>"; };
1B6CE7E012149A9E00E44A28 /* AdWhirlConfigStoreTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlConfigStoreTest.m; sourceTree = "<group>"; };
1B6CE8871214A65800E44A28 /* AWNetworkReachabilityWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AWNetworkReachabilityWrapper.h; sourceTree = "<group>"; };
1B6CE8881214A65800E44A28 /* AWNetworkReachabilityWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AWNetworkReachabilityWrapper.m; sourceTree = "<group>"; };
1B6CE8D81214CE3600E44A28 /* AWNetworkReachabilityDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AWNetworkReachabilityDelegate.h; sourceTree = "<group>"; };
1BADCBA2120CACBE005D60B5 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = "<group>"; };
1BADCBA3120CACBE005D60B5 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = "<group>"; };
1BADCBA4120CACBE005D60B5 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = "<group>"; };
1BADCBA5120CACBE005D60B5 /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = "<group>"; };
1BADCBA6120CACBE005D60B5 /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = "<group>"; };
1BADCBA7120CACBE005D60B5 /* OCMockRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockRecorder.h; sourceTree = "<group>"; };
1BADCBA8120CACBE005D60B5 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = "<group>"; };
1BADCC45120CBF86005D60B5 /* GTMDevLogUnitTestingBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMDevLogUnitTestingBridge.m; sourceTree = "<group>"; };
1BDA8127120B727200CCAD25 /* CDataScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner.h; sourceTree = "<group>"; };
1BDA8128120B727200CCAD25 /* CDataScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner.m; sourceTree = "<group>"; };
1BDA812A120B727200CCAD25 /* CDataScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDataScanner_Extensions.h; sourceTree = "<group>"; };
1BDA812B120B727200CCAD25 /* CDataScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDataScanner_Extensions.m; sourceTree = "<group>"; };
1BDA812C120B727200CCAD25 /* NSCharacterSet_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSCharacterSet_Extensions.h; sourceTree = "<group>"; };
1BDA812D120B727200CCAD25 /* NSCharacterSet_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSCharacterSet_Extensions.m; sourceTree = "<group>"; };
1BDA812E120B727200CCAD25 /* NSDictionary_JSONExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDictionary_JSONExtensions.h; sourceTree = "<group>"; };
1BDA812F120B727200CCAD25 /* NSDictionary_JSONExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDictionary_JSONExtensions.m; sourceTree = "<group>"; };
1BDA8130120B727200CCAD25 /* NSScanner_Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSScanner_Extensions.h; sourceTree = "<group>"; };
1BDA8131120B727200CCAD25 /* NSScanner_Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSScanner_Extensions.m; sourceTree = "<group>"; };
1BDA8133120B727200CCAD25 /* CJSONDataSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDataSerializer.h; sourceTree = "<group>"; };
1BDA8134120B727200CCAD25 /* CJSONDataSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDataSerializer.m; sourceTree = "<group>"; };
1BDA8135120B727200CCAD25 /* CJSONDeserializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONDeserializer.h; sourceTree = "<group>"; };
1BDA8136120B727200CCAD25 /* CJSONDeserializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONDeserializer.m; sourceTree = "<group>"; };
1BDA8137120B727200CCAD25 /* CJSONScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONScanner.h; sourceTree = "<group>"; };
1BDA8138120B727200CCAD25 /* CJSONScanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONScanner.m; sourceTree = "<group>"; };
1BDA8139120B727200CCAD25 /* CJSONSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJSONSerializer.h; sourceTree = "<group>"; };
1BDA813A120B727200CCAD25 /* CJSONSerializer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJSONSerializer.m; sourceTree = "<group>"; };
1BDA813B120B727200CCAD25 /* CSerializedJSONData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSerializedJSONData.h; sourceTree = "<group>"; };
1BDA813C120B727200CCAD25 /* CSerializedJSONData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CSerializedJSONData.m; sourceTree = "<group>"; };
1BDA8195120B751500CCAD25 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
1BDA819F120B751500CCAD25 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
1BDA81A1120B751500CCAD25 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
1BDA8250120B786500CCAD25 /* AdWhirlAdNetworkConfigTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdWhirlAdNetworkConfigTest.m; sourceTree = "<group>"; };
1BED9B471210C7A100E06937 /* AdWhirlTests_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdWhirlTests_Prefix.pch; sourceTree = "<group>"; };
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
2860E325111B887F00E27156 /* AppDelegate_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate_iPhone.h; sourceTree = "<group>"; };
2860E326111B887F00E27156 /* AppDelegate_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate_iPhone.m; sourceTree = "<group>"; };
2860E327111B887F00E27156 /* MainWindow_iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow_iPhone.xib; sourceTree = "<group>"; };
2860E32B111B888700E27156 /* AppDelegate_iPad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate_iPad.h; sourceTree = "<group>"; };
2860E32C111B888700E27156 /* AppDelegate_iPad.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate_iPad.m; sourceTree = "<group>"; };
2860E32D111B888700E27156 /* MainWindow_iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow_iPad.xib; sourceTree = "<group>"; };
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Shared/main.m; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* AdWhirlTests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "AdWhirlTests-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1B183C5A121212B70026647E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1B183D84121214910026647E /* Foundation.framework in Frameworks */,
1B183D85121214910026647E /* UIKit.framework in Frameworks */,
1B183D86121214910026647E /* CoreGraphics.framework in Frameworks */,
1B183D87121214910026647E /* CoreLocation.framework in Frameworks */,
1B183D88121214910026647E /* QuartzCore.framework in Frameworks */,
1B183D89121214910026647E /* SystemConfiguration.framework in Frameworks */,
1B183D8A121214910026647E /* libOCMock.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1B183C5C121212B70026647E /* AdWhirlTests.app */,
);
name = Products;
sourceTree = "<group>";
};
1B264BB8120B6D0900DB41AD /* UnitTests */ = {
isa = PBXGroup;
children = (
1BDA8250120B786500CCAD25 /* AdWhirlAdNetworkConfigTest.m */,
1B183A871211C22B0026647E /* AdWhirlConfigTest.m */,
1B183AB71211C8E90026647E /* UIColor+AdWhirlConfigTest.m */,
1B6CE7E012149A9E00E44A28 /* AdWhirlConfigStoreTest.m */,
1B4905A71230815300BAECDE /* AdWhirlViewTest.m */,
);
path = UnitTests;
sourceTree = "<group>";
};
1B264BB9120B6D1600DB41AD /* GoogleToolboxForMac */ = {
isa = PBXGroup;
children = (
1B264BBA120B6D1600DB41AD /* Foundation */,
1B264BBF120B6D1600DB41AD /* GTMDefines.h */,
1B264BC0120B6D1600DB41AD /* UnitTesting */,
);
name = GoogleToolboxForMac;
path = ../GoogleToolboxForMac;
sourceTree = SOURCE_ROOT;
};
1B264BBA120B6D1600DB41AD /* Foundation */ = {
isa = PBXGroup;
children = (
1B264BBB120B6D1600DB41AD /* GTMObjC2Runtime.h */,
1B264BBC120B6D1600DB41AD /* GTMObjC2Runtime.m */,
1B264BBD120B6D1600DB41AD /* GTMRegex.h */,
1B264BBE120B6D1600DB41AD /* GTMRegex.m */,
);
path = Foundation;
sourceTree = "<group>";
};
1B264BC0120B6D1600DB41AD /* UnitTesting */ = {
isa = PBXGroup;
children = (
1BADCC45120CBF86005D60B5 /* GTMDevLogUnitTestingBridge.m */,
1B264BC1120B6D1600DB41AD /* GTMIPhoneUnitTestDelegate.h */,
1B264BC2120B6D1600DB41AD /* GTMIPhoneUnitTestDelegate.m */,
1B264BC3120B6D1600DB41AD /* GTMIPhoneUnitTestMain.m */,
1B264BC4120B6D1600DB41AD /* GTMSenTestCase.h */,
1B264BC5120B6D1600DB41AD /* GTMSenTestCase.m */,
1B264BC6120B6D1600DB41AD /* GTMUnitTestDevLog.h */,
1B264BC7120B6D1600DB41AD /* GTMUnitTestDevLog.m */,
1B264BC8120B6D1600DB41AD /* RunIPhoneUnitTest.sh */,
);
path = UnitTesting;
sourceTree = "<group>";
};
1B264BD7120B6E0000DB41AD /* AdWhirl */ = {
isa = PBXGroup;
children = (
1B264BD8120B6E0000DB41AD /* adapters */,
1B264BF0120B6E0000DB41AD /* AdWhirlDelegateProtocol.h */,
1B264BF1120B6E0000DB41AD /* AdWhirlView.h */,
1B264BF2120B6E0000DB41AD /* internal */,
1B264C0E120B6E0000DB41AD /* legacy */,
);
name = AdWhirl;
path = ../AdWhirl;
sourceTree = SOURCE_ROOT;
};
1B264BD8120B6E0000DB41AD /* adapters */ = {
isa = PBXGroup;
children = (
1B264BD9120B6E0000DB41AD /* AdWhirlAdapterAdMob.h */,
1B264BDA120B6E0000DB41AD /* AdWhirlAdapterAdMob.m */,
1B264BDB120B6E0000DB41AD /* AdWhirlAdapterGoogleAdSense.h */,
1B264BDC120B6E0000DB41AD /* AdWhirlAdapterGoogleAdSense.m */,
1B264BDD120B6E0000DB41AD /* AdWhirlAdapterGreystripe.h */,
1B264BDE120B6E0000DB41AD /* AdWhirlAdapterGreystripe.m */,
1B264BDF120B6E0000DB41AD /* AdWhirlAdapterIAd.h */,
1B264BE0120B6E0000DB41AD /* AdWhirlAdapterIAd.m */,
1B264BE1120B6E0000DB41AD /* AdWhirlAdapterInMobi.h */,
1B264BE2120B6E0000DB41AD /* AdWhirlAdapterInMobi.m */,
1B264BE3120B6E0000DB41AD /* AdWhirlAdapterJumpTap.h */,
1B264BE4120B6E0000DB41AD /* AdWhirlAdapterJumpTap.m */,
1B264BE5120B6E0000DB41AD /* AdWhirlAdapterMdotM.h */,
1B264BE6120B6E0000DB41AD /* AdWhirlAdapterMdotM.m */,
1B264BE7120B6E0000DB41AD /* AdWhirlAdapterMillennial.h */,
1B264BE8120B6E0000DB41AD /* AdWhirlAdapterMillennial.m */,
1B264BE9120B6E0000DB41AD /* AdWhirlAdapterQuattro.h */,
1B264BEA120B6E0000DB41AD /* AdWhirlAdapterQuattro.m */,
1B264BEB120B6E0000DB41AD /* AdWhirlAdapterVideoEgg.h */,
1B264BEC120B6E0000DB41AD /* AdWhirlAdapterVideoEgg.m */,
1B264BED120B6E0000DB41AD /* AdWhirlAdapterZestADZ.h */,
1B264BEE120B6E0000DB41AD /* AdWhirlAdapterZestADZ.m */,
1B264BEF120B6E0000DB41AD /* AdWhirlAdNetworkAdapter.h */,
);
path = adapters;
sourceTree = "<group>";
};
1B264BF2120B6E0000DB41AD /* internal */ = {
isa = PBXGroup;
children = (
1B264BF3120B6E0000DB41AD /* AdWhirlAdapterCustom.h */,
1B264BF4120B6E0000DB41AD /* AdWhirlAdapterCustom.m */,
1B264BF5120B6E0000DB41AD /* AdWhirlAdapterEvent.h */,
1B264BF6120B6E0000DB41AD /* AdWhirlAdapterEvent.m */,
1B264BF7120B6E0000DB41AD /* AdWhirlAdapterGeneric.h */,
1B264BF8120B6E0000DB41AD /* AdWhirlAdapterGeneric.m */,
1B264BF9120B6E0000DB41AD /* AdWhirlAdNetworkAdapter+Helpers.h */,
1B264BFA120B6E0000DB41AD /* AdWhirlAdNetworkAdapter+Helpers.m */,
1B264BFB120B6E0000DB41AD /* AdWhirlAdNetworkAdapter.m */,
1B264BFC120B6E0000DB41AD /* AdWhirlAdNetworkConfig.h */,
1B264BFD120B6E0000DB41AD /* AdWhirlAdNetworkConfig.m */,
1B264BFE120B6E0000DB41AD /* AdWhirlAdNetworkRegistry.h */,
1B264BFF120B6E0000DB41AD /* AdWhirlAdNetworkRegistry.m */,
1B264C00120B6E0000DB41AD /* AdWhirlConfig.h */,
1B264C01120B6E0000DB41AD /* AdWhirlConfig.m */,
1B264C02120B6E0000DB41AD /* AdWhirlCustomAdView.h */,
1B264C03120B6E0000DB41AD /* AdWhirlCustomAdView.m */,
1B264C04120B6E0000DB41AD /* AdWhirlError.h */,
1B264C05120B6E0000DB41AD /* AdWhirlError.m */,
1B264C06120B6E0000DB41AD /* AdWhirlLog.h */,
1B264C07120B6E0000DB41AD /* AdWhirlLog.m */,
1B264C08120B6E0000DB41AD /* AdWhirlView+.h */,
1B264C09120B6E0000DB41AD /* AdWhirlView.m */,
1B264C0A120B6E0000DB41AD /* AdWhirlWebBrowser.xib */,
1B264C0B120B6E0000DB41AD /* AdWhirlWebBrowserController.h */,
1B264C0C120B6E0000DB41AD /* AdWhirlWebBrowserController.m */,
1B264C0D120B6E0000DB41AD /* ARRollerView.m */,
1B6898AC120C8B7A0080EAC1 /* AdWhirlClassWrapper.h */,
1B6898AD120C8B7A0080EAC1 /* AdWhirlClassWrapper.m */,
1B183A8F1211C61B0026647E /* UIColor+AdWhirlConfig.h */,
1B183A901211C61B0026647E /* UIColor+AdWhirlConfig.m */,
1B6CE7DC12149A8200E44A28 /* AdWhirlConfigStore.h */,
1B6CE7DD12149A8200E44A28 /* AdWhirlConfigStore.m */,
1B6CE8871214A65800E44A28 /* AWNetworkReachabilityWrapper.h */,
1B6CE8881214A65800E44A28 /* AWNetworkReachabilityWrapper.m */,
1B6CE8D81214CE3600E44A28 /* AWNetworkReachabilityDelegate.h */,
);
path = internal;
sourceTree = "<group>";
};
1B264C0E120B6E0000DB41AD /* legacy */ = {
isa = PBXGroup;
children = (
1B264C0F120B6E0000DB41AD /* ARRollerProtocol.h */,
1B264C10120B6E0000DB41AD /* ARRollerView.h */,
);
path = legacy;
sourceTree = "<group>";
};
1BADCB9F120CACBE005D60B5 /* OCMock Library */ = {
isa = PBXGroup;
children = (
1BADCBA0120CACBE005D60B5 /* Headers */,
1BADCBA8120CACBE005D60B5 /* libOCMock.a */,
);
name = "OCMock Library";
path = OCMock/build/Debug/Library;
sourceTree = "<group>";
};
1BADCBA0120CACBE005D60B5 /* Headers */ = {
isa = PBXGroup;
children = (
1BADCBA1120CACBE005D60B5 /* OCMock */,
);
path = Headers;
sourceTree = "<group>";
};
1BADCBA1120CACBE005D60B5 /* OCMock */ = {
isa = PBXGroup;
children = (
1BADCBA2120CACBE005D60B5 /* NSNotificationCenter+OCMAdditions.h */,
1BADCBA3120CACBE005D60B5 /* OCMArg.h */,
1BADCBA4120CACBE005D60B5 /* OCMConstraint.h */,
1BADCBA5120CACBE005D60B5 /* OCMock.h */,
1BADCBA6120CACBE005D60B5 /* OCMockObject.h */,
1BADCBA7120CACBE005D60B5 /* OCMockRecorder.h */,
);
path = OCMock;
sourceTree = "<group>";
};
1BDA8126120B727200CCAD25 /* TouchJSON */ = {
isa = PBXGroup;
children = (
1BDA8127120B727200CCAD25 /* CDataScanner.h */,
1BDA8128120B727200CCAD25 /* CDataScanner.m */,
1BDA8129120B727200CCAD25 /* Extensions */,
1BDA8132120B727200CCAD25 /* JSON */,
);
name = TouchJSON;
path = ../TouchJSON;
sourceTree = SOURCE_ROOT;
};
1BDA8129120B727200CCAD25 /* Extensions */ = {
isa = PBXGroup;
children = (
1BDA812A120B727200CCAD25 /* CDataScanner_Extensions.h */,
1BDA812B120B727200CCAD25 /* CDataScanner_Extensions.m */,
1BDA812C120B727200CCAD25 /* NSCharacterSet_Extensions.h */,
1BDA812D120B727200CCAD25 /* NSCharacterSet_Extensions.m */,
1BDA812E120B727200CCAD25 /* NSDictionary_JSONExtensions.h */,
1BDA812F120B727200CCAD25 /* NSDictionary_JSONExtensions.m */,
1BDA8130120B727200CCAD25 /* NSScanner_Extensions.h */,
1BDA8131120B727200CCAD25 /* NSScanner_Extensions.m */,
);
path = Extensions;
sourceTree = "<group>";
};
1BDA8132120B727200CCAD25 /* JSON */ = {
isa = PBXGroup;
children = (
1BDA8133120B727200CCAD25 /* CJSONDataSerializer.h */,
1BDA8134120B727200CCAD25 /* CJSONDataSerializer.m */,
1BDA8135120B727200CCAD25 /* CJSONDeserializer.h */,
1BDA8136120B727200CCAD25 /* CJSONDeserializer.m */,
1BDA8137120B727200CCAD25 /* CJSONScanner.h */,
1BDA8138120B727200CCAD25 /* CJSONScanner.m */,
1BDA8139120B727200CCAD25 /* CJSONSerializer.h */,
1BDA813A120B727200CCAD25 /* CJSONSerializer.m */,
1BDA813B120B727200CCAD25 /* CSerializedJSONData.h */,
1BDA813C120B727200CCAD25 /* CSerializedJSONData.m */,
);
path = JSON;
sourceTree = "<group>";
};
2860E324111B887F00E27156 /* iPhone */ = {
isa = PBXGroup;
children = (
2860E325111B887F00E27156 /* AppDelegate_iPhone.h */,
2860E326111B887F00E27156 /* AppDelegate_iPhone.m */,
2860E327111B887F00E27156 /* MainWindow_iPhone.xib */,
);
path = iPhone;
sourceTree = "<group>";
};
2860E32A111B888700E27156 /* iPad */ = {
isa = PBXGroup;
children = (
2860E32B111B888700E27156 /* AppDelegate_iPad.h */,
2860E32C111B888700E27156 /* AppDelegate_iPad.m */,
2860E32D111B888700E27156 /* MainWindow_iPad.xib */,
);
path = iPad;
sourceTree = "<group>";
};
28EEBF621118D79A00187D67 /* Shared */ = {
isa = PBXGroup;
children = (
8D1107310486CEB800E47090 /* AdWhirlTests-Info.plist */,
);
name = Shared;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
1BADCB9F120CACBE005D60B5 /* OCMock Library */,
1BDA8126120B727200CCAD25 /* TouchJSON */,
1B264BD7120B6E0000DB41AD /* AdWhirl */,
1B264BB9120B6D1600DB41AD /* GoogleToolboxForMac */,
1B264BB8120B6D0900DB41AD /* UnitTests */,
2860E32A111B888700E27156 /* iPad */,
2860E324111B887F00E27156 /* iPhone */,
28EEBF621118D79A00187D67 /* Shared */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = CustomTemplate;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
1BED9B471210C7A100E06937 /* AdWhirlTests_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
1D30AB110D05D00D00671497 /* Foundation.framework */,
288765FC0DF74451002DB57D /* CoreGraphics.framework */,
1BDA8195120B751500CCAD25 /* CoreLocation.framework */,
1BDA819F120B751500CCAD25 /* QuartzCore.framework */,
1BDA81A1120B751500CCAD25 /* SystemConfiguration.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1B183C5B121212B70026647E /* AdWhirlTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1B183C61121212B80026647E /* Build configuration list for PBXNativeTarget "AdWhirlTests" */;
buildPhases = (
1B183C58121212B70026647E /* Resources */,
1B183C59121212B70026647E /* Sources */,
1B183C5A121212B70026647E /* Frameworks */,
1B183DF9121219E60026647E /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
name = AdWhirlTests;
productName = AdWhirlTestsApp;
productReference = 1B183C5C121212B70026647E /* AdWhirlTests.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlTests" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
projectDirPath = "";
projectRoot = "";
targets = (
1B183C5B121212B70026647E /* AdWhirlTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1B183C58121212B70026647E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1B183C6A1212147C0026647E /* MainWindow_iPhone.xib in Resources */,
1B183C6B1212147C0026647E /* MainWindow_iPad.xib in Resources */,
1B183C6C1212147C0026647E /* AdWhirlWebBrowser.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
1B183DF9121219E60026647E /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export GTM_DISABLE_ZOMBIES=1\nexport GTM_ENABLE_LEAKS=1\n$SRCROOT/../GoogleToolboxForMac/UnitTesting/RunIPhoneUnitTest.sh";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1B183C59121212B70026647E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1B183C6D121214860026647E /* AppDelegate_iPhone.m in Sources */,
1B183C6E121214860026647E /* AppDelegate_iPad.m in Sources */,
1B183C6F121214860026647E /* GTMObjC2Runtime.m in Sources */,
1B183C70121214860026647E /* GTMRegex.m in Sources */,
1B183C71121214860026647E /* GTMIPhoneUnitTestDelegate.m in Sources */,
1B183C72121214860026647E /* GTMIPhoneUnitTestMain.m in Sources */,
1B183C73121214860026647E /* GTMSenTestCase.m in Sources */,
1B183C74121214860026647E /* GTMUnitTestDevLog.m in Sources */,
1B183C75121214860026647E /* AdWhirlAdapterCustom.m in Sources */,
1B183C76121214860026647E /* AdWhirlAdapterEvent.m in Sources */,
1B183C77121214860026647E /* AdWhirlAdapterGeneric.m in Sources */,
1B183C78121214860026647E /* AdWhirlAdNetworkAdapter+Helpers.m in Sources */,
1B183C79121214860026647E /* AdWhirlAdNetworkAdapter.m in Sources */,
1B183C7A121214860026647E /* AdWhirlAdNetworkConfig.m in Sources */,
1B183C7B121214860026647E /* AdWhirlAdNetworkRegistry.m in Sources */,
1B183C7C121214860026647E /* AdWhirlConfig.m in Sources */,
1B183C7D121214860026647E /* AdWhirlCustomAdView.m in Sources */,
1B183C7E121214860026647E /* AdWhirlError.m in Sources */,
1B183C7F121214860026647E /* AdWhirlLog.m in Sources */,
1B183C80121214860026647E /* AdWhirlView.m in Sources */,
1B183C81121214860026647E /* AdWhirlWebBrowserController.m in Sources */,
1B183C82121214860026647E /* ARRollerView.m in Sources */,
1B183C83121214860026647E /* CDataScanner.m in Sources */,
1B183C84121214860026647E /* CDataScanner_Extensions.m in Sources */,
1B183C85121214860026647E /* NSCharacterSet_Extensions.m in Sources */,
1B183C86121214860026647E /* NSDictionary_JSONExtensions.m in Sources */,
1B183C87121214860026647E /* NSScanner_Extensions.m in Sources */,
1B183C88121214860026647E /* CJSONDataSerializer.m in Sources */,
1B183C89121214860026647E /* CJSONDeserializer.m in Sources */,
1B183C8A121214860026647E /* CJSONScanner.m in Sources */,
1B183C8B121214860026647E /* CJSONSerializer.m in Sources */,
1B183C8C121214860026647E /* CSerializedJSONData.m in Sources */,
1B183C8D121214860026647E /* AdWhirlAdNetworkConfigTest.m in Sources */,
1B183C8E121214860026647E /* AdWhirlClassWrapper.m in Sources */,
1B183C8F121214860026647E /* GTMDevLogUnitTestingBridge.m in Sources */,
1B183C90121214860026647E /* AdWhirlConfigTest.m in Sources */,
1B183C91121214860026647E /* UIColor+AdWhirlConfig.m in Sources */,
1B183C92121214860026647E /* UIColor+AdWhirlConfigTest.m in Sources */,
1B6CE7DE12149A8200E44A28 /* AdWhirlConfigStore.m in Sources */,
1B6CE7E112149A9E00E44A28 /* AdWhirlConfigStoreTest.m in Sources */,
1B6CE8891214A65800E44A28 /* AWNetworkReachabilityWrapper.m in Sources */,
1B4905A81230815300BAECDE /* AdWhirlViewTest.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1B183C5F121212B80026647E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
"\"$(DEVELOPER_FRAMEWORKS_DIR)\"",
);
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/OCMock/build/Debug/Library/Headers\"";
INFOPLIST_FILE = "AdWhirlTests-Info.plist";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/OCMock/build/Debug/Library\"",
);
OTHER_LDFLAGS = (
"-lgcov",
"-force_load",
"$(PROJECT_DIR)/OCMock/build/Debug/Library/libOCMock.a",
"-ObjC",
);
PREBINDING = NO;
PRODUCT_NAME = AdWhirlTests;
};
name = Debug;
};
1B183C60121212B80026647E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
"\"$(DEVELOPER_FRAMEWORKS_DIR)\"",
);
GCC_ENABLE_FIX_AND_CONTINUE = NO;
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/OCMock/build/Debug/Library/Headers\"";
INFOPLIST_FILE = "AdWhirlTests-Info.plist";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/OCMock/build/Debug/Library\"",
);
OTHER_LDFLAGS = (
"-lgcov",
"-force_load",
"$(PROJECT_DIR)/OCMock/build/Debug/Library/libOCMock.a",
"-ObjC",
);
PREBINDING = NO;
PRODUCT_NAME = AdWhirlTests;
ZERO_LINK = NO;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_GENERATE_TEST_COVERAGE_FILES = YES;
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlTests_Prefix.pch;
GCC_PREPROCESSOR_DEFINITIONS = (
"AWLogCrit=_GTMUnitTestDevLog",
"AWLogError=_GTMUnitTestDevLog",
"AWLogWarn=_GTMUnitTestDevLog",
"DEBUG=1",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.2;
PREBINDING = NO;
SDKROOT = iphoneos4.1;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_GENERATE_TEST_COVERAGE_FILES = YES;
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = AdWhirlTests_Prefix.pch;
GCC_PREPROCESSOR_DEFINITIONS = (
"AWLogCrit=_GTMUnitTestDevLog",
"AWLogError=_GTMUnitTestDevLog",
"AWLogWarn=_GTMUnitTestDevLog",
"DEBUG=1",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.2;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
PREBINDING = NO;
SDKROOT = iphoneos4.1;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1B183C61121212B80026647E /* Build configuration list for PBXNativeTarget "AdWhirlTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1B183C5F121212B80026647E /* Debug */,
1B183C60121212B80026647E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AdWhirlTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View File

@@ -1,7 +0,0 @@
//
// Prefix header for all source files of the 'AdWhirlTests' target in the 'AdWhirlTests' project
//
// To silence build warnings when we swap AdWhirlLog* with this
@class NSString;
extern void _GTMUnitTestDevLog(NSString *format, ...);

View File

@@ -1,17 +0,0 @@
//
// main.m
// AdWhirlTests
//
// Created by Nigel Choi on 8/5/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}

View File

@@ -1,305 +0,0 @@
/*
AdWhirlAdNetworkConfigTest.m
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <OCMock/OCMock.h>
#import "GTMSenTestCase.h"
#import "GTMUnitTestDevLog.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlAdNetworkAdapter.h"
#import "AdWhirlError.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlClassWrapper.h"
@interface AdWhirlAdNetworkConfigTest : GTMTestCase {
id mockRegistry_;
}
@end
@implementation AdWhirlAdNetworkConfigTest
-(void) setUp {
mockRegistry_ = [OCMockObject mockForClass:[AdWhirlAdNetworkRegistry class]];
}
- (void) tearDown {
}
- (void) testGoodConfig {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"custom", AWAdNetworkConfigKeyName,
@"14.5", AWAdNetworkConfigKeyWeight,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"__CUSTOM__", AWAdNetworkConfigKeyCred,
@"9", AWAdNetworkConfigKeyType,
@"10", AWAdNetworkConfigKeyPriority,
nil];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry_ expect] andReturn:classWrapper] adapterClassFor:9];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNoThrow([mockRegistry_ verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertNil(error, @"should have no error parsing ad network config");
STAssertNotNil(config, @"config should be non-nil");
STAssertEqualStrings(config.networkName, @"custom", @"network name");
STAssertEquals(config.trafficPercentage, 14.5, @"percentage");
STAssertEqualStrings(config.nid, @"2798463808b1234567890abcdef5c1e9", @"nid");
STAssertNotNil(config.credentials, @"credentials exists");
STAssertEqualStrings(config.pubId, @"__CUSTOM__", @"pubId");
STAssertEquals(config.networkType, 9, @"network type");
STAssertEquals(config.priority, 10, @"priority");
STAssertNotNil([config description], @"has description");
STAssertEquals(config.adapterClass, classWrapper.theClass, @"adapter class match");
[config release];
[classWrapper release];
}
- (void) testGoodConfigHashCred {
NSDictionary *cred = [NSDictionary dictionaryWithObjectsAndKeys:
@"site_id", @"siteID",
@"spot_id", @"spotID",
@"pub_id", @"publisherID",
nil];
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"jumptap", AWAdNetworkConfigKeyName,
@"30", AWAdNetworkConfigKeyWeight,
@"1234567890a1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
cred, AWAdNetworkConfigKeyCred,
@"2", AWAdNetworkConfigKeyType,
@"2", AWAdNetworkConfigKeyPriority,
nil];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry_ expect] andReturn:classWrapper] adapterClassFor:2];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNoThrow([mockRegistry_ verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertNil(error, @"should have no error parsing ad network config");
STAssertNotNil(config, @"config should be non-nil");
STAssertEqualStrings(config.networkName, @"jumptap", @"network name");
STAssertEquals(config.trafficPercentage, 30.0, @"percentage");
STAssertEqualStrings(config.nid, @"1234567890a1234567890abcdef5c1e9", @"nid");
STAssertNotNil(config.credentials, @"credentials exists");
STAssertTrue([config.credentials isKindOfClass:[NSDictionary class]],
@"credentials is a dictionary");
STAssertNil(config.pubId, @"no single pubId");
STAssertEqualStrings([config.credentials objectForKey:@"siteID"],
@"site_id", @"cred.siteId");
STAssertEqualStrings([config.credentials objectForKey:@"spotID"],
@"spot_id", @"cred.spotId");
STAssertEqualStrings([config.credentials objectForKey:@"publisherID"],
@"pub_id", @"cred.pubId");
STAssertEquals(config.networkType, 2, @"network type");
STAssertEquals(config.priority, 2, @"priority");
STAssertNotNil([config description], @"has description");
STAssertEquals(config.adapterClass, classWrapper.theClass, @"adapter class match");
[config release];
[classWrapper release];
}
- (void) testEmptyConfig {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:nil];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNil(config, @"Bad config dict should yield nil network config");
STAssertNotNil(error, @"Bad config dict should yield error");
STAssertEquals([error localizedDescription],
@"Ad network config has no network type, network id, network name, or priority",
@"Bad config dict error message");
STAssertEquals([error code], AdWhirlConfigDataError,
@"Bad config should give AdWhirlConfigDataError");
}
- (void) testEmptyConfigNilErrorObj {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:nil];
[GTMUnitTestDevLog expectString:@"Ad network config has no network type, network id, network name, or priority"];
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:nil];
STAssertNil(config, @"Bad config dict should yield nil network config");
}
- (void) testNonExistentNetworkType {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"bogus", AWAdNetworkConfigKeyName,
@"50", AWAdNetworkConfigKeyWeight,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"x", AWAdNetworkConfigKeyCred,
@"1000000", AWAdNetworkConfigKeyType,
@"6", AWAdNetworkConfigKeyPriority,
nil];
[[[mockRegistry_ expect] andReturn:nil] adapterClassFor:1000000];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNoThrow([mockRegistry_ verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertNil(config, @"Config must be null for non-existent network type");
STAssertNotNil(error, @"Must returned error for non-existent network type");
STAssertEqualStrings([error localizedDescription],
@"Ad network type 1000000 not supported, no adapter found",
@"Non-existent network type error string");
STAssertEquals([error code], AdWhirlConfigDataError,
@"Non-existent network type should give AdWhirlConfigDataError");
}
- (void) testNonExistentNetworkTypeNilErrorObj {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"bogus", AWAdNetworkConfigKeyName,
@"50", AWAdNetworkConfigKeyWeight,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"x", AWAdNetworkConfigKeyCred,
@"1000000", AWAdNetworkConfigKeyType,
@"6", AWAdNetworkConfigKeyPriority,
nil];
[[[mockRegistry_ expect] andReturn:nil] adapterClassFor:1000000];
[GTMUnitTestDevLog expectString:@"Ad network type 1000000 not supported, no adapter found"];
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:nil];
STAssertNoThrow([mockRegistry_ verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertNil(config, @"Config must be null for non-existent network type");
}
- (void) testNilWeight {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"custom", AWAdNetworkConfigKeyName,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"__CUSTOM__", AWAdNetworkConfigKeyCred,
@"9", AWAdNetworkConfigKeyType,
@"10", AWAdNetworkConfigKeyPriority,
nil];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry_ expect] andReturn:classWrapper] adapterClassFor:9];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNoThrow([mockRegistry_ verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertNil(error, @"should have no error parsing ad network config");
STAssertNotNil(config, @"config should be non-nil");
STAssertEqualStrings(config.networkName, @"custom", @"network name");
STAssertEquals(config.trafficPercentage, 0.0, @"percentage should be 0");
STAssertEqualStrings(config.nid, @"2798463808b1234567890abcdef5c1e9", @"nid");
STAssertNotNil(config.credentials, @"credentials exists");
STAssertEqualStrings(config.pubId, @"__CUSTOM__", @"pubId");
STAssertEquals(config.networkType, 9, @"network type");
STAssertEquals(config.priority, 10, @"priority");
STAssertNotNil([config description], @"has description");
STAssertEquals(config.adapterClass, classWrapper.theClass, @"adapter class match");
[config release];
[classWrapper release];
}
- (void) testNilCred {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"custom", AWAdNetworkConfigKeyName,
@"14.5", AWAdNetworkConfigKeyWeight,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"9", AWAdNetworkConfigKeyType,
@"10", AWAdNetworkConfigKeyPriority,
nil];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry_ expect] andReturn:classWrapper] adapterClassFor:9];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNoThrow([mockRegistry_ verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertNil(error, @"should have no error parsing ad network config");
STAssertNotNil(config, @"config should be non-nil");
STAssertEqualStrings(config.networkName, @"custom", @"network name");
STAssertEquals(config.trafficPercentage, 14.5, @"percentage");
STAssertEqualStrings(config.nid, @"2798463808b1234567890abcdef5c1e9", @"nid");
STAssertNil(config.credentials, @"credentials exists");
STAssertNil(config.pubId, @"credentials nil");
STAssertEquals(config.networkType, 9, @"network type");
STAssertEquals(config.priority, 10, @"priority");
STAssertNotNil([config description], @"has description");
STAssertEquals(config.adapterClass, classWrapper.theClass, @"adapter class match");
[config release];
[classWrapper release];
}
- (void) testNetworkTypeNotNumber {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"custom", AWAdNetworkConfigKeyName,
@"14.5", AWAdNetworkConfigKeyWeight,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"__CUSTOM__", AWAdNetworkConfigKeyCred,
@"somestring", AWAdNetworkConfigKeyType,
@"10", AWAdNetworkConfigKeyPriority,
nil];
AdWhirlError *error = nil;
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:&error];
STAssertNil(config, @"Non-int network type should yield nil network config");
STAssertNotNil(error, @"Non-int network type should yield error");
STAssertEquals([error localizedDescription],
@"Ad network config has invalid network type, network id, network name or priority",
@"Non-int network type error message");
STAssertEquals([error code], AdWhirlConfigDataError,
@"Non-int network type should give AdWhirlConfigDataError");
}
- (void) testNetworkTypeNotNumberNilErrObj {
NSDictionary *configDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"custom", AWAdNetworkConfigKeyName,
@"14.5", AWAdNetworkConfigKeyWeight,
@"2798463808b1234567890abcdef5c1e9", AWAdNetworkConfigKeyNID,
@"__CUSTOM__", AWAdNetworkConfigKeyCred,
@"somestring", AWAdNetworkConfigKeyType,
@"10", AWAdNetworkConfigKeyPriority,
nil];
[GTMUnitTestDevLog expectString:@"Ad network config has invalid network type, network id, network name or priority"];
AdWhirlAdNetworkConfig *config
= [[AdWhirlAdNetworkConfig alloc] initWithDictionary:configDict
adNetworkRegistry:mockRegistry_
error:nil];
STAssertNil(config, @"Non-int network type should yield nil network config");
}
@end

View File

@@ -1,410 +0,0 @@
/*
AdWhirlConfigStoreTest.m
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <Foundation/Foundation.h>
#import <OCMock/OCMock.h>
#import "GTMSenTestCase.h"
#import "GTMUnitTestDevLog.h"
#import "AdWhirlConfigStore.h"
#import "AdWhirlConfig.h"
#import "AWNetworkReachabilityWrapper.h"
#import "AdWhirlView.h"
#import "AdWhirlClassWrapper.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlAdNetworkAdapter.h"
#import "AdWhirlError.h"
@interface AdWhirlConfigStoreTest : GTMTestCase {
}
@end
// Need to be a concrete class instead of a protocol mock because
// we don't want tests to invoke performSelectorOnMainThread
@interface AdWhirlConfigDelegateConcrete : NSObject<AdWhirlConfigDelegate> {
}
@end
@implementation AdWhirlConfigDelegateConcrete
@end
@implementation AdWhirlConfigStoreTest
-(void)setUp {
[AdWhirlConfigStore resetStore];
}
- (void)tearDown {
// Reset to make sure no leaks
[AdWhirlConfigStore resetStore];
}
- (void)testSingleton {
STAssertEquals([AdWhirlConfigStore sharedStore],
[AdWhirlConfigStore sharedStore],
@"There should only be one shared AdWhirlConfigStore");
}
- (void)testFetchConfig {
AdWhirlConfigStore *store = [AdWhirlConfigStore sharedStore];
id mockReachability =
[OCMockObject mockForClass:[AWNetworkReachabilityWrapper class]];
BOOL yesVal = YES;
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(yesVal)]
scheduleInCurrentRunLoop];
store.reachability = mockReachability;
id mockURLConn = [OCMockObject mockForClass:[NSURLConnection class]];
store.connection = mockURLConn;
// First get call should trigger fetchConfig
NSString *configURLString = @"http://test.adwhirl.com/getInfo.php";
NSString *appKey = @"1234567890abcdef";
id mockConfigDelegate1 =
[OCMockObject mockForProtocol:@protocol(AdWhirlConfigDelegate)];
[[[mockConfigDelegate1 expect]
andReturn:[NSURL URLWithString:configURLString]] adWhirlConfigURL];
AdWhirlConfig *config1 = [store getConfig:appKey
delegate:mockConfigDelegate1];
STAssertEqualStrings(config1.appKey, appKey,
@"returned config should have same appKey");
STAssertEqualStrings([config1.configURL host], @"test.adwhirl.com",
@"returned config should have same configURL host");
STAssertEqualStrings([config1.configURL path], @"/getInfo.php",
@"returned config should have same configURL path");
NSString *expectedQuery =
[NSString stringWithFormat:@"appid=%@&appver=%d&client=1",
appKey, kAdWhirlAppVer];
STAssertEqualStrings([config1.configURL query], expectedQuery,
@"returned config should have the right query");
STAssertFalse(config1.hasConfig, @"returned config should not have config");
// Second get call for the same appKey while fetch in progress should get the
// delegate added to the list
id mockConfigDelegate2 =
[OCMockObject mockForProtocol:@protocol(AdWhirlConfigDelegate)];
AdWhirlConfig *config2 = [store getConfig:appKey
delegate:mockConfigDelegate2];
STAssertEquals(config1, config2, @"same config");
// Get call for a different appKey while fetch in progress should be rejected
NSString *configURLString3 = @"http://test3.adwhirl.com/getInfo.php";
id mockConfigDelegate3 =
[OCMockObject mockForProtocol:@protocol(AdWhirlConfigDelegate)];
[[[mockConfigDelegate3 expect]
andReturn:[NSURL URLWithString:configURLString3]] adWhirlConfigURL];
[GTMUnitTestDevLog expectString:
@"Another fetch is in progress, wait until finished."];
id nilConfig = [store getConfig:@"9876543210abcdef"
delegate:mockConfigDelegate3];
STAssertNil(nilConfig, @"should get nil config for call to different appKey"
@" while fetch in progress");
// Simulate bad callback
id badReach =
[OCMockObject mockForClass:[AWNetworkReachabilityWrapper class]];
[GTMUnitTestDevLog expectPattern:@"Unrecognized reachability object"
@" called not reachable .*"];
[store reachabilityNotReachable:badReach];
[GTMUnitTestDevLog expectPattern:@"Unrecognized reachability object"
@" called reachable .*"];
[store reachabilityBecameReachable:badReach];
// Simulate reachability not yet ready. There should be a checkReachability
// method call scheduled in the current run loop to be executed after 10
// seconds. But the run loop is not running here, so we have to
// simulate.
[[[mockReachability expect] andReturn:@"example.com"] hostname];
[store reachabilityNotReachable:mockReachability];
STAssertNil(store.reachability,
@"reachability should be nil after not reachable");
// Put the reachability object back
store.reachability = mockReachability;
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(yesVal)]
scheduleInCurrentRunLoop];
// Simulate run loop call of checkReachability
[store performSelector:@selector(checkReachability)];
// Simulate reachability ready callback in run loop
[store reachabilityBecameReachable:mockReachability];
STAssertNil(store.reachability,
@"reachability should be nil after reachable");
// Simulate bad NSURLConnection callback
id badConn = [OCMockObject mockForClass:[NSURLConnection class]];
[GTMUnitTestDevLog expectPattern:@"Unrecognized connection object .*"];
[store connection:badConn didReceiveResponse:nil];
[GTMUnitTestDevLog expectPattern:@"Unrecognized connection object .*"];
[store connection:badConn didFailWithError:nil];
[GTMUnitTestDevLog expectPattern:@"Unrecognized connection object .*"];
[store connectionDidFinishLoading:badConn];
[GTMUnitTestDevLog expectPattern:@"Unrecognized connection object .*"];
[store connection:badConn didReceiveData:nil];
// Simulate NSURLConnection callbacks
id mockResp = [OCMockObject mockForClass:[NSHTTPURLResponse class]];
[[[mockResp expect] andReturnValue:OCMOCK_VALUE(yesVal)]
isKindOfClass:[NSHTTPURLResponse class]];
int httpStatus = 200;
[[[mockResp expect] andReturnValue:OCMOCK_VALUE(httpStatus)] statusCode];
[store connection:mockURLConn didReceiveResponse:mockResp];
// Config processing
id mockRegistry = [OCMockObject mockForClass:[AdWhirlAdNetworkRegistry class]];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:1]; // AdMob
config1.adNetworkRegistry = mockRegistry;
[[mockConfigDelegate1 expect] adWhirlConfigDidReceiveConfig:config1];
[[mockConfigDelegate2 expect] adWhirlConfigDidReceiveConfig:config1];
NSString *configRaw =
@"{\"extra\":{"
@"\"location_on\":0,"
@"\"background_color_rgb\":{\"red\":7,\"green\":8,\"blue\":9,\"alpha\":0.5},"
@"\"text_color_rgb\":{\"red\":200,\"green\":150,\"blue\":100,\"alpha\":0.5},"
@"\"cycle_time\":45,"
@"\"transition\":4},"
@"\"rations\":[{"
@"\"nid\":\"9976543210abcdefabcdef0000000001\","
@"\"type\":1,"
@"\"nname\":\"admob\","
@"\"weight\":0,"
@"\"priority\":1,"
@"\"key\":\"ADMOB_KEY\""
@"}]}";
NSData *configData = [configRaw dataUsingEncoding:NSUTF8StringEncoding];
[store connection:mockURLConn didReceiveData:configData];
[store connectionDidFinishLoading:mockURLConn];
STAssertNil(store.connection, @"connection nil after config loading");
[classWrapper release], classWrapper = nil;
// Test getting cached version
id mockConfigDelegate4 =
[OCMockObject mockForClass:[AdWhirlConfigDelegateConcrete class]];
AdWhirlConfig *config4 = [store getConfig:appKey
delegate:mockConfigDelegate4];
STAssertEquals(config4, config1, @"same cached config");
// Verify
STAssertNoThrow([mockReachability verify], @"Must call expected methods");
STAssertNoThrow([mockConfigDelegate1 verify], @"Must call expected methods");
STAssertNoThrow([mockConfigDelegate2 verify], @"Must call expected methods");
// During tearDown reachability's delegate will be set to nil
[[mockReachability expect] setDelegate:nil];
}
- (BOOL)checkReachabilityError:(id)arg1 {
if (![arg1 isKindOfClass:[AdWhirlError class]]) return NO;
AdWhirlError *err = arg1;
if ([err code] != AdWhirlConfigConnectionError) return NO;
NSString *errMsg = [err localizedDescription];
if (errMsg == nil) return NO;
NSString *expectMsg = @"Error scheduling reachability";
if ([errMsg rangeOfString:expectMsg].location != 0) return NO;
return YES;
}
- (void)testFetchConfigReachabilityFail {
AdWhirlConfigStore *store = [AdWhirlConfigStore sharedStore];
id mockReachability =
[OCMockObject mockForClass:[AWNetworkReachabilityWrapper class]];
BOOL noVal = NO;
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(noVal)]
scheduleInCurrentRunLoop];
store.reachability = mockReachability;
// First get call should trigger fetchConfig
NSString *configURLString = @"http://test.adwhirl.com/getInfo.php";
NSString *appKey = @"abcdefabcdef";
id mockConfigDelegate =
[OCMockObject mockForProtocol:@protocol(AdWhirlConfigDelegate)];
[[[mockConfigDelegate expect]
andReturn:[NSURL URLWithString:configURLString]] adWhirlConfigURL];
[[mockConfigDelegate expect] adWhirlConfigDidFail:[OCMArg any]
error:
[OCMArg checkWithSelector:@selector(checkReachabilityError:) onObject:self]];
AdWhirlConfig *nilConfig = [store getConfig:appKey
delegate:mockConfigDelegate];
STAssertNil(nilConfig, @"reachability failure result in nil config");
// Verify
STAssertNoThrow([mockReachability verify], @"Must call expected methods");
STAssertNoThrow([mockConfigDelegate verify], @"Must call expected methods");
}
- (BOOL)checkFailedConnectionError:(id)arg1 {
STAssertTrue([arg1 isKindOfClass:[AdWhirlError class]],
@"arg1 should be AdWhirlError");
AdWhirlError *err = arg1;
STAssertEquals([err code], AdWhirlConfigConnectionError,
@"Should be AdWhirlConfigConnectionError");
NSString *errMsg = [err localizedDescription];
STAssertNotNil(errMsg, @"Must have error message");
NSString *expectMsg = @"Error connecting to config server";
STAssertEqualStrings(errMsg, expectMsg, @"Error message content");
return YES;
}
- (void)testFetchConfigFailedConnection {
AdWhirlConfigStore *store = [AdWhirlConfigStore sharedStore];
id mockReachability =
[OCMockObject mockForClass:[AWNetworkReachabilityWrapper class]];
BOOL yesVal = YES;
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(yesVal)]
scheduleInCurrentRunLoop];
store.reachability = mockReachability;
id mockURLConn = [OCMockObject mockForClass:[NSURLConnection class]];
store.connection = mockURLConn;
// First get call should trigger fetchConfig
NSString *configURLString = @"http://test.adwhirl.com/getInfo.php";
NSString *appKey = @"fedcbafedcbafedcba";
id mockConfigDelegate =
[OCMockObject mockForProtocol:@protocol(AdWhirlConfigDelegate)];
[[[mockConfigDelegate expect]
andReturn:[NSURL URLWithString:configURLString]] adWhirlConfigURL];
AdWhirlConfig *config = [store getConfig:appKey
delegate:mockConfigDelegate];
STAssertFalse(config.hasConfig, @"returned config should not have config");
// Simulate reachability ready callback in run loop
[store reachabilityBecameReachable:mockReachability];
STAssertNil(store.reachability,
@"reachability should be nil after reachable");
// Simulate NSURLConnection callbacks for failed connection
[[mockConfigDelegate expect] adWhirlConfigDidFail:config
error:
[OCMArg checkWithSelector:@selector(checkFailedConnectionError:)
onObject:self]];
[store connection:mockURLConn
didFailWithError:[NSError errorWithDomain:@"test"
code:1
userInfo:nil]];
// After the failure, the config should not longer be cached, so getConfig
// should return a new config object
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(yesVal)]
scheduleInCurrentRunLoop];
store.reachability = mockReachability;
[[[mockConfigDelegate expect]
andReturn:[NSURL URLWithString:configURLString]] adWhirlConfigURL];
AdWhirlConfig *config2 = [store getConfig:appKey
delegate:mockConfigDelegate];
STAssertFalse(config2.hasConfig, @"returned config should not have config");
STAssertNotEquals(config, config2, @"failed config should have been gone");
// Set reachability to nil
store.reachability = nil;
// Verify
STAssertNoThrow([mockReachability verify], @"Must call expected methods");
STAssertNoThrow([mockConfigDelegate verify], @"Must call expected methods");
}
- (BOOL)checkBadHTTPStatusError:(id)arg1 {
STAssertTrue([arg1 isKindOfClass:[AdWhirlError class]],
@"arg1 should be AdWhirlError");
AdWhirlError *err = arg1;
STAssertEquals([err code], AdWhirlConfigStatusError,
@"Should be AdWhirlConfigStatusError");
NSString *errMsg = [err localizedDescription];
STAssertNotNil(errMsg, @"Must have error message");
NSString *expectMsg = @"Config server did not return status 200";
STAssertEqualStrings(errMsg, expectMsg, @"Error message content");
return YES;
}
- (void)testFetchConfigBadHTTPStatus {
AdWhirlConfigStore *store = [AdWhirlConfigStore sharedStore];
id mockReachability =
[OCMockObject mockForClass:[AWNetworkReachabilityWrapper class]];
BOOL yesVal = YES;
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(yesVal)]
scheduleInCurrentRunLoop];
store.reachability = mockReachability;
id mockURLConn = [OCMockObject mockForClass:[NSURLConnection class]];
store.connection = mockURLConn;
// First get call should trigger fetchConfig
NSString *configURLString = @"http://test.adwhirl.com/getInfo.php";
NSString *appKey = @"fedcbafedcbafedcba";
id mockConfigDelegate =
[OCMockObject mockForProtocol:@protocol(AdWhirlConfigDelegate)];
[[[mockConfigDelegate expect]
andReturn:[NSURL URLWithString:configURLString]] adWhirlConfigURL];
AdWhirlConfig *config = [store getConfig:appKey
delegate:mockConfigDelegate];
STAssertFalse(config.hasConfig, @"returned config should not have config");
// Simulate reachability ready callback in run loop
[store reachabilityBecameReachable:mockReachability];
STAssertNil(store.reachability,
@"reachability should be nil after reachable");
// Simulate NSURLConnection callbacks for bad HTTP status
id mockResp = [OCMockObject mockForClass:[NSHTTPURLResponse class]];
[[[mockResp expect] andReturnValue:OCMOCK_VALUE(yesVal)]
isKindOfClass:[NSHTTPURLResponse class]];
[[[mockResp expect] andReturn:@"http://xyz"] URL];
int httpStatus = 500;
[[[mockResp expect] andReturnValue:OCMOCK_VALUE(httpStatus)] statusCode];
[GTMUnitTestDevLog expectPattern:
@"AdWhirlConfig: HTTP 500, cancelling http://xyz"];
[[mockURLConn expect] cancel];
[[mockConfigDelegate expect] adWhirlConfigDidFail:config
error:
[OCMArg checkWithSelector:@selector(checkBadHTTPStatusError:)
onObject:self]];
[store connection:mockURLConn didReceiveResponse:mockResp];
// After the failure, the config should not longer be cached, so getConfig
// should return a new config object
[[[mockReachability expect] andReturnValue:OCMOCK_VALUE(yesVal)]
scheduleInCurrentRunLoop];
store.reachability = mockReachability;
[[[mockConfigDelegate expect]
andReturn:[NSURL URLWithString:configURLString]] adWhirlConfigURL];
AdWhirlConfig *config2 = [store getConfig:appKey
delegate:mockConfigDelegate];
STAssertFalse(config2.hasConfig, @"returned config should not have config");
STAssertNotEquals(config, config2, @"failed config should have been gone");
// Verify
STAssertNoThrow([mockReachability verify], @"Must call expected methods");
STAssertNoThrow([mockConfigDelegate verify], @"Must call expected methods");
// During tearDown reachability's delegate will be set to nil
[[mockReachability expect] setDelegate:nil];
}
@end

View File

@@ -1,901 +0,0 @@
/*
AdWhirlConfigTest.m
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <Foundation/Foundation.h>
#import <OCMock/OCMock.h>
#import "GTMSenTestCase.h"
#import "GTMUnitTestDevLog.h"
#import "AdWhirlConfig.h"
#import "AdWhirlAdNetworkConfig.h"
#import "AdWhirlAdNetworkRegistry.h"
#import "AdWhirlClassWrapper.h"
#import "AdWhirlAdNetworkAdapter.h"
#import "AdWhirlView.h"
@interface AdWhirlConfigTest : GTMTestCase {
}
@end
@interface AdWhirlConfigDelegateCustomURL : NSObject <AdWhirlConfigDelegate> {
}
@end
@implementation AdWhirlConfigDelegateCustomURL
- (NSURL *)adWhirlConfigURL {
return [NSURL URLWithString:@"http://mob.example.com/getInfo.php"];
}
@end
@interface AdWhirlConfigDelegateNoOp : NSObject <AdWhirlConfigDelegate> {
}
@end
@implementation AdWhirlConfigDelegateNoOp
@end
@implementation AdWhirlConfigTest
-(void)setUp {
}
- (void)tearDown {
}
- (void)testDefaultConfig {
NSString *appKey = @"myappkey";
AdWhirlConfigDelegateNoOp *delegate
= [[AdWhirlConfigDelegateNoOp alloc] init];
AdWhirlConfig *config = [[AdWhirlConfig alloc] initWithAppKey:appKey
delegate:delegate];
STAssertNotNil(config, @"Config should not be nil");
// Test passed in values
STAssertEqualStrings(config.appKey, appKey,
@"App key should have been set in config");
// Test default values
NSURL *actualURL = config.configURL;
NSURL *defaultURL = [NSURL URLWithString:kAdWhirlDefaultConfigURL];
STAssertNotNil(actualURL, @"configURL should not be nil");
STAssertEqualStrings([actualURL scheme], [defaultURL scheme],
@"Scheme of config URL should match");
STAssertEqualStrings([actualURL host], [defaultURL host],
@"Host name of config URL should match");
STAssertEqualStrings([actualURL path], [defaultURL path],
@"Path of config URL should match");
STAssertFalse(config.adsAreOff, @"Ads are on by default");
STAssertNotNil(config.adNetworkConfigs,
@"Config must have ad network config array");
STAssertEquals([config.adNetworkConfigs count], 0U,
@"Config should have no ad network by default");
STAssertNotNil(config.backgroundColor,
@"Config must have background color");
const CGFloat *bkColComps
= CGColorGetComponents(config.backgroundColor.CGColor);
STAssertEquals(bkColComps[0], 0.3F, @"Config default background color red");
STAssertEquals(bkColComps[1], 0.3F, @"Config default background color green");
STAssertEquals(bkColComps[2], 0.3F, @"Config default background color blue");
STAssertEquals(bkColComps[3], 1.0F, @"Config default background color alpha");
STAssertNotNil(config.textColor, @"Config must have text color");
STAssertEquals((void *)config.textColor, (void *)[UIColor whiteColor],
@"default text color");
STAssertEquals(config.refreshInterval, (NSTimeInterval)60.0,
@"Default refresh interval");
STAssertTrue(config.locationOn, @"Location query should be on by default");
STAssertEquals(config.bannerAnimationType, AWBannerAnimationTypeRandom,
@"Default banner animation");
STAssertEquals(config.fullscreenWaitInterval, 60,
@"Config default full screen wait interval");
STAssertEquals(config.fullscreenMaxAds, 2,
@"Config default full screen max ads");
STAssertEquals(config.adNetworkRegistry,
[AdWhirlAdNetworkRegistry sharedRegistry],
@"Config default ad network registry should be the sharedRegistry");
STAssertNotNil([config description],
@"Config description should not be nil");
STAssertFalse(config.hasConfig, @"Config has no actual config");
[config release];
[delegate release];
}
- (void)testLegacyConfig {
NSString *legacyConfigRaw =
@"[{"
@"\"admob_ration\":5,"
@"\"adrollo_ration\":6,"
@"\"jumptap_ration\":7,"
@"\"videoegg_ration\":8,"
@"\"millennial_ration\":9,"
@"\"quattro_ration\":11,"
@"\"generic_ration\":12,"
@"\"greystripe_ration\":13,"
@"\"google_adsense_ration\":14,"
@"\"custom_ration\":15"
@"},{"
@"\"admob_key\":\"ADMOB_KEY\","
@"\"adrollo_key\":\"ADROLLO_KEY\","
@"\"jumptap_key\":\"JT\","
@"\"videoegg_key\":{\"publisher\":\"VE_PUB\",\"area\":\"VE_AREA\"},"
@"\"millennial_key\":\"54321\","
@"\"quattro_key\":{\"siteID\":\"Q_SITE\",\"publisherID\":\"Q_ID\"},"
@"\"generic_key\":\"__GENERIC__\","
@"\"greystripe_key\":\"GREYSTRIPE_KEY\","
@"\"google_adsense_key\":\"AFMA_KEY\","
@"\"dontcare_key\":48"
@"},{"
@"\"admob_priority\":5,"
@"\"adwhirl_12_priority\":6,"
@"\"jumptap_priority\":4,"
@"\"videoegg_priority\":10,"
@"\"millennial_priority\":2,"
@"\"quattro_priority\":1,"
@"\"generic_priority\":14,"
@"\"greystripe_priority\":8,"
@"\"google_adsense_priority\":7,"
@"\"custom_priority\":13"
@"},{"
@"\"background_color_rgb\":{\"red\":7,\"green\":8,\"blue\":9,\"alpha\":1},"
@"\"text_color_rgb\":{\"red\":200,\"green\":150,\"blue\":100,\"alpha\":1},"
@"\"refresh_interval\":45,"
@"\"location_on\":0,"
@"\"banner_animation_type\":4,"
@"\"fullscreen_wait_interval\":55,"
@"\"fullscreen_max_ads\":4,"
@"\"metrics_url\":\"\","
@"\"metrics_flag\":0"
@"}]";
NSString *appKey = @"myappkey";
AdWhirlConfigDelegateCustomURL *delegate
= [[AdWhirlConfigDelegateCustomURL alloc] init];
AdWhirlConfig *config = [[AdWhirlConfig alloc] initWithAppKey:appKey
delegate:delegate];
STAssertNotNil(config, @"Config should not be nil");
// setup mock registry
id mockRegistry = [OCMockObject mockForClass:[AdWhirlAdNetworkRegistry class]];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:1]; // AdMob
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:2]; // JT
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:3]; // VE
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:6]; // MM
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:7]; // GreyS
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:8]; // Qua
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:9]; // Custom
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:12]; // MdotM
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:14]; // AFMA
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:16]; // G-ric
config.adNetworkRegistry = mockRegistry;
// parse this thing
NSData *configData = [legacyConfigRaw dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
STAssertFalse(config.hasConfig, @"Config has no actual config");
STAssertTrue([config parseConfig:configData error:&error],
@"Should parse legacy config properly, error: %@", error);
STAssertNoThrow([mockRegistry verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertTrue(config.hasConfig, @"Config parsed successfully");
// check passed-in values
STAssertEqualStrings(config.appKey, appKey,
@"App key should have been set in config");
NSURL *actualURL = config.configURL;
NSURL *delegateURL = [delegate adWhirlConfigURL];
STAssertNotNil(actualURL, @"configURL should not be nil");
STAssertNotNil(delegateURL, @"delegate should return config URL");
STAssertEqualStrings([actualURL scheme], [delegateURL scheme],
@"Scheme of config URL should match");
STAssertEqualStrings([actualURL host], [delegateURL host],
@"Host name of config URL should match");
STAssertEqualStrings([actualURL path], [delegateURL path],
@"Path of config URL should match");
// check parsed values
STAssertFalse(config.adsAreOff, @"Ads should not be off");
STAssertNotNil(config.adNetworkConfigs,
@"Ad net config array should not be nil");
STAssertEquals([config.adNetworkConfigs count], 10U,
@"Right number of ad networks");
STAssertNotNil(config.backgroundColor,
@"Config must have background color");
const CGFloat *bkColComps
= CGColorGetComponents(config.backgroundColor.CGColor);
STAssertEquals(bkColComps[0], (CGFloat)(7.0/255.0),
@"Config background color red");
STAssertEquals(bkColComps[1], (CGFloat)(8.0/255.0),
@"Config background color green");
STAssertEquals(bkColComps[2], (CGFloat)(9.0/255.0),
@"Config background color blue");
STAssertEquals(bkColComps[3], 1.0F, @"Config background color alpha");
STAssertNotNil(config.textColor, @"Config must have text color");
const CGFloat *txtColComps
= CGColorGetComponents(config.textColor.CGColor);
STAssertEquals(txtColComps[0], (CGFloat)(200.0/255.0), @"Config text color red");
STAssertEquals(txtColComps[1], (CGFloat)(150.0/255.0), @"Config text color green");
STAssertEquals(txtColComps[2], (CGFloat)(100.0/255.0), @"Config text color blue");
STAssertEquals(txtColComps[3], 1.0F, @"Config text color alpha");
STAssertEquals(config.refreshInterval, (NSTimeInterval)45.0,
@"Refresh interval");
STAssertFalse(config.locationOn, @"Location query setting");
STAssertEquals(config.bannerAnimationType, AWBannerAnimationTypeCurlDown,
@"Banner animation");
STAssertEquals(config.fullscreenWaitInterval, 55,
@"Full screen wait interval");
STAssertEquals(config.fullscreenMaxAds, 4, @"Full screen max ads");
STAssertEquals(config.adNetworkRegistry, mockRegistry,
@"Ad network registry");
// check ad network configs
NSMutableDictionary *seenNetworks
= [NSMutableDictionary dictionaryWithCapacity:20];
for (id netCfg in config.adNetworkConfigs) {
STAssertTrue([netCfg isKindOfClass:[AdWhirlAdNetworkConfig class]],
@"netCfg config must be of class AdWhirlAdNetworkConfig");
AdWhirlAdNetworkConfig *cfg = netCfg;
STAssertNil([seenNetworks
objectForKey:[NSNumber numberWithInt:cfg.networkType]],
@"Must not have seen network type: %d", cfg.networkType);
NSString *netTypeString = [NSString stringWithFormat:@"%d",cfg.networkType];
STAssertEqualStrings(cfg.nid, netTypeString,
@"Legacy netCfg nid should be string of network type");
STAssertEquals(cfg.adapterClass, classWrapper.theClass, @"Adapter class");
switch (cfg.networkType) {
case AdWhirlAdNetworkTypeAdMob:
STAssertEqualStrings(cfg.networkName, @"admob", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)5.0, @"ration");
STAssertEquals(cfg.priority, 5, @"priority");
STAssertEqualStrings(cfg.pubId, @"ADMOB_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeJumpTap:
STAssertEqualStrings(cfg.networkName, @"jumptap", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)7.0, @"ration");
STAssertEquals(cfg.priority, 4, @"priority");
STAssertEqualStrings(cfg.pubId, @"JT", @"pubId");
break;
case AdWhirlAdNetworkTypeVideoEgg:
STAssertEqualStrings(cfg.networkName, @"videoegg", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)8.0, @"ration");
STAssertEquals(cfg.priority, 10, @"priority");
STAssertEqualStrings([cfg.credentials objectForKey:@"publisher"],
@"VE_PUB", @"VideoEgg publisher");
STAssertEqualStrings([cfg.credentials objectForKey:@"area"],
@"VE_AREA", @"VideoEgg area");
break;
case AdWhirlAdNetworkTypeMillennial:
STAssertEqualStrings(cfg.networkName, @"millennial", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)9.0, @"ration");
STAssertEquals(cfg.priority, 2, @"priority");
STAssertEqualStrings(cfg.pubId, @"54321", @"pubId");
break;
case AdWhirlAdNetworkTypeGreyStripe:
STAssertEqualStrings(cfg.networkName, @"greystripe", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)13.0, @"ration");
STAssertEquals(cfg.priority, 8, @"priority");
STAssertEqualStrings(cfg.pubId, @"GREYSTRIPE_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeQuattro:
STAssertEqualStrings(cfg.networkName, @"quattro", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)11.0, @"ration");
STAssertEquals(cfg.priority, 1, @"priority");
STAssertEqualStrings([cfg.credentials objectForKey:@"siteID"],
@"Q_SITE", @"Quattro site id");
STAssertEqualStrings([cfg.credentials objectForKey:@"publisherID"],
@"Q_ID", @"Quattro publisher id");
break;
case AdWhirlAdNetworkTypeCustom:
STAssertEqualStrings(cfg.networkName, @"custom", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)15.0, @"ration");
STAssertEquals(cfg.priority, 13, @"priority");
STAssertNil(cfg.pubId, @"Custom ");
break;
case AdWhirlAdNetworkTypeMdotM:
// exercises the adrollo strange logic
STAssertEqualStrings(cfg.networkName, @"adwhirl_12", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)6.0, @"ration");
STAssertEquals(cfg.priority, 6, @"priority");
STAssertEqualStrings(cfg.pubId, @"ADROLLO_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeGoogleAdSense:
STAssertEqualStrings(cfg.networkName, @"google_adsense",
@"Network name");
STAssertEquals(cfg.trafficPercentage, (double)14.0, @"ration");
STAssertEquals(cfg.priority, 7, @"priority");
STAssertEqualStrings(cfg.pubId, @"AFMA_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeGeneric:
STAssertEqualStrings(cfg.networkName, @"generic", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)12.0, @"ration");
STAssertEquals(cfg.priority, 14, @"priority");
STAssertEqualStrings(cfg.pubId, @"__GENERIC__", @"pubId");
break;
default:
STFail(@"Ad network not recognized: %d", cfg.networkType);
break;
}
}
// clean up
[config release];
[delegate release];
[classWrapper release];
}
- (void)testConfig {
NSString *configRaw =
@"{\"extra\":{"
@"\"location_on\":0,"
@"\"background_color_rgb\":{\"red\":7,\"green\":8,\"blue\":9,\"alpha\":0.5},"
@"\"text_color_rgb\":{\"red\":200,\"green\":150,\"blue\":100,\"alpha\":0.5},"
@"\"cycle_time\":45,"
@"\"transition\":4},"
@"\"rations\":[{"
@"\"nid\":\"9876543210abcdefabcdef0000000001\","
@"\"type\":1,"
@"\"nname\":\"admob\","
@"\"weight\":1,"
@"\"priority\":5,"
@"\"key\":\"ADMOB_KEY\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000002\","
@"\"type\":12,"
@"\"nname\":\"mdotm\","
@"\"weight\":2,"
@"\"priority\":6,"
@"\"key\":\"MDOTM_KEY\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000003\","
@"\"type\":2,"
@"\"nname\":\"jumptap\","
@"\"weight\":3,"
@"\"priority\":4,"
@"\"key\":{\"publisherID\":\"JT\",\"siteID\":\"JT_SITE\",\"spotID\":\"JT_SPOT\"}"
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000004\","
@"\"type\":3,"
@"\"nname\":\"videoegg\","
@"\"weight\":4,"
@"\"priority\":10,"
@"\"key\":{\"publisher\":\"VE_PUB\",\"area\":\"VE_AREA\"}"
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000005\","
@"\"type\":6,"
@"\"nname\":\"millennial\","
@"\"weight\":5,"
@"\"priority\":2,"
@"\"key\":\"54321\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000006\","
@"\"type\":8,"
@"\"nname\":\"quattro\","
@"\"weight\":6,"
@"\"priority\":1,"
@"\"key\":{\"siteID\":\"Q_SITE\",\"publisherID\":\"Q_ID\"}"
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000007\","
@"\"type\":16,"
@"\"nname\":\"generic\","
@"\"weight\":7,"
@"\"priority\":14,"
@"\"key\":\"__GENERIC__\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000008\","
@"\"type\":18,"
@"\"nname\":\"inmobi\","
@"\"weight\":8,"
@"\"priority\":9,"
@"\"key\":\"INMOBI_KEY\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000009\","
@"\"type\":19,"
@"\"nname\":\"iad\","
@"\"weight\":9,"
@"\"priority\":3,"
@"\"key\":\"IAD_ID\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000010\","
@"\"type\":9,"
@"\"nname\":\"custom\","
@"\"weight\":0.5,"
@"\"priority\":13,"
@"\"key\":\"__CUSTOM__\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000011\","
@"\"type\":9,"
@"\"nname\":\"custom\","
@"\"weight\":0.5,"
@"\"priority\":13,"
@"\"key\":\"__CUSTOM__\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000012\","
@"\"type\":9,"
@"\"nname\":\"custom\","
@"\"weight\":0.5,"
@"\"priority\":13,"
@"\"key\":\"__CUSTOM__\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000013\","
@"\"type\":9,"
@"\"nname\":\"custom\","
@"\"weight\":0.5,"
@"\"priority\":13,"
@"\"key\":\"__CUSTOM__\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000014\","
@"\"type\":17,"
@"\"nname\":\"event\","
@"\"weight\":10,"
@"\"priority\":11,"
@"\"key\":\"Test Event|;|performEvent\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000015\","
@"\"type\":17,"
@"\"nname\":\"event\","
@"\"weight\":11,"
@"\"priority\":12,"
@"\"key\":\"Test Event 2|;|performEvent2\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000016\","
@"\"type\":7,"
@"\"nname\":\"greystripe\","
@"\"weight\":12,"
@"\"priority\":8,"
@"\"key\":\"GREYSTRIPE_KEY\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000017\","
@"\"type\":14,"
@"\"nname\":\"google_adsense\","
@"\"weight\":13,"
@"\"priority\":7,"
@"\"key\":\"AFMA_KEY\""
@"},{"
@"\"nid\":\"9876543210abcdefabcdef0000000018\","
@"\"type\":20,"
@"\"nname\":\"zestadz\","
@"\"weight\":5,"
@"\"priority\":15,"
@"\"key\":\"ZESTADZ_KEY\"}]}";
NSString *appKey = @"someappkey";
AdWhirlConfigDelegateCustomURL *delegate
= [[AdWhirlConfigDelegateCustomURL alloc] init];
AdWhirlConfig *config = [[AdWhirlConfig alloc] initWithAppKey:appKey
delegate:delegate];
STAssertNotNil(config, @"Config should not be nil");
// setup mock registry
id mockRegistry = [OCMockObject mockForClass:[AdWhirlAdNetworkRegistry class]];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:1]; // AdMob
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:2]; // JT
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:3]; // VE
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:6]; // MM
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:7]; // GreyS
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:8]; // Qua
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:9]; // Custom
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:9]; // Custom
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:9]; // Custom
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:9]; // Custom
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:12]; // MdotM
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:14]; // AFMA
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:16]; // G-ric
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:17]; // Events
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:17]; // Events
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:18]; // inMobi
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:19]; // iAd
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:20]; // Zest
config.adNetworkRegistry = mockRegistry;
// parse this thing
NSData *configData = [configRaw dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
STAssertFalse(config.hasConfig, @"Config has no actual config");
STAssertTrue([config parseConfig:configData error:&error],
@"Should parse config properly, error: %@", error);
STAssertNoThrow([mockRegistry verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertTrue(config.hasConfig, @"Config parsed successfully");
// check passed-in values
STAssertEqualStrings(config.appKey, appKey,
@"App key should have been set in config");
NSURL *actualURL = config.configURL;
NSURL *delegateURL = [delegate adWhirlConfigURL];
STAssertNotNil(actualURL, @"configURL should not be nil");
STAssertNotNil(delegateURL, @"delegate should return config URL");
STAssertEqualStrings([actualURL scheme], [delegateURL scheme],
@"Scheme of config URL should match");
STAssertEqualStrings([actualURL host], [delegateURL host],
@"Host name of config URL should match");
STAssertEqualStrings([actualURL path], [delegateURL path],
@"Path of config URL should match");
// check parsed values
STAssertFalse(config.adsAreOff, @"Ads should not be off");
STAssertNotNil(config.adNetworkConfigs,
@"Ad net config array should not be nil");
STAssertEquals([config.adNetworkConfigs count], 18U,
@"Right number of ad networks");
STAssertNotNil(config.backgroundColor,
@"Config must have background color");
const CGFloat *bkColComps
= CGColorGetComponents(config.backgroundColor.CGColor);
STAssertEquals(bkColComps[0], (CGFloat)(7.0/255.0),
@"Config background color red");
STAssertEquals(bkColComps[1], (CGFloat)(8.0/255.0),
@"Config background color green");
STAssertEquals(bkColComps[2], (CGFloat)(9.0/255.0),
@"Config background color blue");
STAssertEquals(bkColComps[3], 0.5F, @"Config background color alpha");
STAssertNotNil(config.textColor, @"Config must have text color");
const CGFloat *txtColComps
= CGColorGetComponents(config.textColor.CGColor);
STAssertEquals(txtColComps[0], (CGFloat)(200.0/255.0), @"Config text color red");
STAssertEquals(txtColComps[1], (CGFloat)(150.0/255.0), @"Config text color green");
STAssertEquals(txtColComps[2], (CGFloat)(100.0/255.0), @"Config text color blue");
STAssertEquals(txtColComps[3], 0.5F, @"Config text color alpha");
STAssertEquals(config.refreshInterval, (NSTimeInterval)45.0,
@"Refresh interval");
STAssertFalse(config.locationOn, @"Location query setting");
STAssertEquals(config.bannerAnimationType, AWBannerAnimationTypeCurlDown,
@"Banner animation");
STAssertEquals(config.fullscreenWaitInterval, 60,
@"Full screen wait interval");
STAssertEquals(config.fullscreenMaxAds, 2, @"Full screen max ads");
STAssertEquals(config.adNetworkRegistry, mockRegistry,
@"Ad network registry");
// check ad network configs
NSMutableDictionary *seenNetworks
= [NSMutableDictionary dictionaryWithCapacity:20];
for (id netCfg in config.adNetworkConfigs) {
STAssertTrue([netCfg isKindOfClass:[AdWhirlAdNetworkConfig class]],
@"netCfg config must be of class AdWhirlAdNetworkConfig");
AdWhirlAdNetworkConfig *cfg = netCfg;
STAssertNil([seenNetworks
objectForKey:[NSNumber numberWithInt:cfg.networkType]],
@"Must not have seen network type: %d", cfg.networkType);
STAssertEquals(cfg.adapterClass, classWrapper.theClass, @"Adapter class");
switch (cfg.networkType) {
case AdWhirlAdNetworkTypeAdMob:
STAssertEqualStrings(cfg.networkName, @"admob", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000001", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)1.0, @"ration");
STAssertEquals(cfg.priority, 5, @"priority");
STAssertEqualStrings(cfg.pubId, @"ADMOB_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeJumpTap:
STAssertEqualStrings(cfg.networkName, @"jumptap", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000003", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)3.0, @"ration");
STAssertEquals(cfg.priority, 4, @"priority");
STAssertEqualStrings([cfg.credentials objectForKey:@"publisherID"],
@"JT", @"Jumptap publisher");
STAssertEqualStrings([cfg.credentials objectForKey:@"siteID"],
@"JT_SITE", @"Jumptap area");
STAssertEqualStrings([cfg.credentials objectForKey:@"spotID"],
@"JT_SPOT", @"Jumptap publisher");
break;
case AdWhirlAdNetworkTypeVideoEgg:
STAssertEqualStrings(cfg.networkName, @"videoegg", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000004", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)4.0, @"ration");
STAssertEquals(cfg.priority, 10, @"priority");
STAssertEqualStrings([cfg.credentials objectForKey:@"publisher"],
@"VE_PUB", @"VideoEgg publisher");
STAssertEqualStrings([cfg.credentials objectForKey:@"area"],
@"VE_AREA", @"VideoEgg area");
break;
case AdWhirlAdNetworkTypeMillennial:
STAssertEqualStrings(cfg.networkName, @"millennial", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000005", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)5.0, @"ration");
STAssertEquals(cfg.priority, 2, @"priority");
STAssertEqualStrings(cfg.pubId, @"54321", @"pubId");
break;
case AdWhirlAdNetworkTypeGreyStripe:
STAssertEqualStrings(cfg.networkName, @"greystripe", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000016", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)12.0, @"ration");
STAssertEquals(cfg.priority, 8, @"priority");
STAssertEqualStrings(cfg.pubId, @"GREYSTRIPE_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeQuattro:
STAssertEqualStrings(cfg.networkName, @"quattro", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000006", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)6.0, @"ration");
STAssertEquals(cfg.priority, 1, @"priority");
STAssertEqualStrings([cfg.credentials objectForKey:@"siteID"],
@"Q_SITE", @"Quattro site id");
STAssertEqualStrings([cfg.credentials objectForKey:@"publisherID"],
@"Q_ID", @"Quattro publisher id");
break;
case AdWhirlAdNetworkTypeCustom:
STAssertEqualStrings(cfg.networkName, @"custom", @"Network name");
STAssertEquals(cfg.trafficPercentage, (double)0.5, @"ration");
STAssertEquals(cfg.priority, 13, @"priority");
STAssertEqualStrings(cfg.pubId, @"__CUSTOM__", @"pubId");
if (![cfg.nid isEqualToString:@"9876543210abcdefabcdef0000000010"]
&& ![cfg.nid isEqualToString:@"9876543210abcdefabcdef0000000011"]
&& ![cfg.nid isEqualToString:@"9876543210abcdefabcdef0000000012"]
&& ![cfg.nid isEqualToString:@"9876543210abcdefabcdef0000000013"]) {
STFail(@"Unrecognized Event nid: %@", cfg.nid);
}
STAssertEqualStrings(cfg.pubId, @"__CUSTOM__", @"Custom pub id");
break;
case AdWhirlAdNetworkTypeMdotM:
// exercises the adrollo strange logic
STAssertEqualStrings(cfg.networkName, @"mdotm", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000002", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)2.0, @"ration");
STAssertEquals(cfg.priority, 6, @"priority");
STAssertEqualStrings(cfg.pubId, @"MDOTM_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeGoogleAdSense:
STAssertEqualStrings(cfg.networkName, @"google_adsense",
@"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000017", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)13.0, @"ration");
STAssertEquals(cfg.priority, 7, @"priority");
STAssertEqualStrings(cfg.pubId, @"AFMA_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeGeneric:
STAssertEqualStrings(cfg.networkName, @"generic", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000007", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)7.0, @"ration");
STAssertEquals(cfg.priority, 14, @"priority");
STAssertEqualStrings(cfg.pubId, @"__GENERIC__", @"pubId");
break;
case AdWhirlAdNetworkTypeEvent:
STAssertEqualStrings(cfg.networkName, @"event", @"Network name");
if ([cfg.nid isEqualToString:@"9876543210abcdefabcdef0000000014"]) {
STAssertEquals(cfg.trafficPercentage, (double)10.0, @"ration");
STAssertEquals(cfg.priority, 11, @"priority");
STAssertEqualStrings(cfg.pubId, @"Test Event|;|performEvent", @"pubId");
}
else if ([cfg.nid isEqualToString:@"9876543210abcdefabcdef0000000015"]) {
STAssertEquals(cfg.trafficPercentage, (double)11.0, @"ration");
STAssertEquals(cfg.priority, 12, @"priority");
STAssertEqualStrings(cfg.pubId, @"Test Event 2|;|performEvent2", @"pubId");
}
else {
STFail(@"Unrecognized Event nid: %@", cfg.nid);
}
break;
case AdWhirlAdNetworkTypeInMobi:
STAssertEqualStrings(cfg.networkName, @"inmobi", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000008", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)8.0, @"ration");
STAssertEquals(cfg.priority, 9, @"priority");
STAssertEqualStrings(cfg.pubId, @"INMOBI_KEY", @"pubId");
break;
case AdWhirlAdNetworkTypeIAd:
STAssertEqualStrings(cfg.networkName, @"iad", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000009", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)9.0, @"ration");
STAssertEquals(cfg.priority, 3, @"priority");
STAssertEqualStrings(cfg.pubId, @"IAD_ID", @"pubId");
break;
case AdWhirlAdNetworkTypeZestADZ:
STAssertEqualStrings(cfg.networkName, @"zestadz", @"Network name");
STAssertEqualStrings(cfg.nid, @"9876543210abcdefabcdef0000000018", @"nid");
STAssertEquals(cfg.trafficPercentage, (double)5.0, @"ration");
STAssertEquals(cfg.priority, 15, @"priority");
STAssertEqualStrings(cfg.pubId, @"ZESTADZ_KEY", @"pubId");
break;
default:
STFail(@"Ad network not recognized: %d", cfg.networkType);
break;
}
}
// clean up
[config release];
[delegate release];
[classWrapper release];
}
- (void)testAddRemoveDelegates {
NSString *appKey = @"myappkey";
AdWhirlConfigDelegateNoOp *delegate
= [[AdWhirlConfigDelegateNoOp alloc] init];
AdWhirlConfig *config = [[AdWhirlConfig alloc] initWithAppKey:appKey
delegate:delegate];
STAssertNotNil(config, @"Config should not be nil");
STAssertFalse([config addDelegate:delegate],
@"addDelegate should be false if delegate has been added before");
AdWhirlConfigDelegateCustomURL *anotherDelegate
= [[AdWhirlConfigDelegateCustomURL alloc] init];
STAssertFalse([config removeDelegate:anotherDelegate],
@"removeDelegate should be false for non-existent delegate");
STAssertTrue([config addDelegate:anotherDelegate],
@"addDelegate should be OK when adding another delegate");
STAssertTrue([config removeDelegate:delegate],
@"removeDelegate should be OK for existing delegates");
[delegate release];
[anotherDelegate release];
[config release];
}
- (void)testAwIntVal {
NSInteger out;
STAssertTrue(awIntVal(&out, [NSNumber numberWithInt:123]),
@"awIntVal with NSNumber with int");
STAssertEquals(out, 123, @"awIntVal should convert NSNumber with int");
STAssertTrue(awIntVal(&out, [NSNumber numberWithFloat:788.9]),
@"awIntVal with NSNumber with float");
STAssertEquals(out, 788, @"awIntVal should convert NSNumber with float");
STAssertTrue(awIntVal(&out, @"567"), @"awIntVal with NSString");
STAssertEquals(out, 567, @"awIntVal should convert NSString");
STAssertFalse(awIntVal(&out, [NSValue valueWithPointer:@"dummy"]),
@"awIntVal should not able to convert NSValue");
}
- (void)testAwFloatVal {
float out;
STAssertTrue(awFloatVal(&out, [NSNumber numberWithInt:123]),
@"awFloatVal with NSNumber with int");
STAssertEquals(out, 123.0F,
@"awFloatVal should convert NSNumber with int");
STAssertTrue(awFloatVal(&out, [NSNumber numberWithFloat:788.9]),
@"awFloatVal with NSNumber with float");
STAssertEquals(out, 788.9F,
@"awFloatVal should convert NSNumber with float");
STAssertTrue(awFloatVal(&out, @"567.34"), @"awFloatVal with NSString");
STAssertEquals(out, 567.34F, @"awFloatVal should convert NSString");
STAssertFalse(awFloatVal(&out, [NSValue valueWithPointer:@"dummy"]),
@"awFloatVal should not able to convert NSValue");
}
- (void)testAwDoubleVal {
double out;
STAssertTrue(awDoubleVal(&out, [NSNumber numberWithInt:123]),
@"awDoubleVal with NSNumber with int");
STAssertEquals(out, (double)123.0,
@"awDoubleVal should convert NSNumber with int");
STAssertTrue(awDoubleVal(&out, [NSNumber numberWithFloat:2233.231]),
@"awDoubleVal with NSNumber with float");
// A bit is lost in the translation from float to double
STAssertEqualsWithAccuracy(out, (double)2233.231L, 0.001,
@"awDoubleVal should convert NSNumber with float");
STAssertTrue(awDoubleVal(&out, [NSNumber numberWithDouble:788.9]),
@"awDoubleVal with NSNumber with double");
STAssertEquals(out, (double)788.9,
@"awDoubleVal should convert NSNumber with double");
STAssertTrue(awDoubleVal(&out, @"567.34"), @"awDoubleVal with NSString");
STAssertEquals(out, (double)567.34, @"awDoubleVal should convert NSString");
STAssertFalse(awDoubleVal(&out, [NSValue valueWithPointer:@"dummy"]),
@"awDoubleVal should not able to convert NSValue");
}
- (void)testNonExistentAdapterAdsOff {
NSString *configRaw =
@"{\"extra\":{"
@"\"location_on\":0,"
@"\"background_color_rgb\":{\"red\":7,\"green\":8,\"blue\":9,\"alpha\":0.5},"
@"\"text_color_rgb\":{\"red\":200,\"green\":150,\"blue\":100,\"alpha\":0.5},"
@"\"cycle_time\":45,"
@"\"transition\":4},"
@"\"rations\":[{"
@"\"nid\":\"9976543210abcdefabcdef0000000001\","
@"\"type\":1,"
@"\"nname\":\"admob\","
@"\"weight\":0,"
@"\"priority\":1,"
@"\"key\":\"ADMOB_KEY\""
@"},{"
@"\"nid\":\"9976543210abcdefabcdef0000000002\","
@"\"type\":12,"
@"\"nname\":\"mdotm\","
@"\"weight\":0,"
@"\"priority\":2,"
@"\"key\":\"MDOTM_KEY\""
@"},{"
@"\"nid\":\"9976543210abcdefabcdef0000000003\","
@"\"type\":2,"
@"\"nname\":\"jumptap\","
@"\"weight\":0,"
@"\"priority\":3,"
@"\"key\":{\"publisherID\":\"JT\",\"siteID\":\"JT_SITE\",\"spotID\":\"JT_SPOT\"}"
@"},{"
@"\"nid\":\"9976543210abcdefabcdef0000000007\","
@"\"type\":16,"
@"\"nname\":\"generic\","
@"\"weight\":0,"
@"\"priority\":4,"
@"\"key\":\"__GENERIC__\""
@"},{"
@"\"nid\":\"9976543210abcdefabcdef0000000009\","
@"\"type\":19,"
@"\"nname\":\"iad\","
@"\"weight\":100,"
@"\"priority\":5,"
@"\"key\":\"IAD_ID\""
@"}]}";
NSString *appKey = @"someappkey";
AdWhirlConfigDelegateCustomURL *delegate
= [[AdWhirlConfigDelegateCustomURL alloc] init];
AdWhirlConfig *config = [[AdWhirlConfig alloc] initWithAppKey:appKey
delegate:delegate];
STAssertNotNil(config, @"Config should not be nil");
// setup mock registry
id mockRegistry = [OCMockObject mockForClass:[AdWhirlAdNetworkRegistry class]];
AdWhirlClassWrapper *classWrapper
= [[AdWhirlClassWrapper alloc] initWithClass:[AdWhirlAdNetworkAdapter class]];
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:1]; // AdMob
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:2]; // JT
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:12]; // MdotM
[[[mockRegistry expect] andReturn:classWrapper] adapterClassFor:16]; // G-ric
[[[mockRegistry expect] andReturn:nil] adapterClassFor:19]; // iAd
config.adNetworkRegistry = mockRegistry;
// parse this thing
NSData *configData = [configRaw dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
[GTMUnitTestDevLog expectPattern:
@"Cannot create ad network config.*Ad network type 19 not supported,"
@" no adapter found"];
STAssertFalse(config.hasConfig, @"Config has no actual config");
STAssertTrue([config parseConfig:configData error:&error],
@"Should parse config properly, error: %@", error);
STAssertNoThrow([mockRegistry verify],
@"Must have called adapterClassFor of the ad network registry");
STAssertTrue(config.hasConfig, @"Config parsed successfully");
// ads should be off
STAssertTrue(config.adsAreOff, @"Ads should be off when no adapter exists");
// clean up
[config release];
[delegate release];
[classWrapper release];
}
@end

View File

@@ -1,56 +0,0 @@
/*
AdWhirlViewTest.m
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <Foundation/Foundation.h>
#import "GTMSenTestCase.h"
#import "GTMUnitTestDevLog.h"
#import "AdWhirlView.h"
#import "AdWhirlView+.h"
#import "AdWhirlLog.h"
#import "AdWhirlDelegateProtocol.h"
@interface AdWhirlViewTest : GTMTestCase {
}
@end
// Not specifying delegate here to avoid compiler warnings
@interface AdWhirlDelegateIncomplete : NSObject {
}
@end
@implementation AdWhirlDelegateIncomplete
@end
@implementation AdWhirlViewTest
-(void)setUp {
}
- (void)tearDown {
}
- (void)testGoodRequest {
}
@end

View File

@@ -1,214 +0,0 @@
/*
UIColor+AdWhirlConfigTest.m
Copyright 2010 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import "UIColor+AdWhirlConfig.h"
#import "GTMSenTestCase.h"
@interface UIColor_AdWhirlConfigTest : GTMTestCase {
}
- (void)compareDict:(NSDictionary *)dict
withRed:(CGFloat)red
green:(CGFloat)green
blue:(CGFloat)blue
alpha:(CGFloat)alpha
message:(NSString *)message;
@end
@implementation UIColor_AdWhirlConfigTest
-(void)setUp {
}
- (void)tearDown {
}
- (void)compareDict:(NSDictionary *)dict
withRed:(CGFloat)red
green:(CGFloat)green
blue:(CGFloat)blue
alpha:(CGFloat)alpha
message:(NSString *)message {
STAssertNotNil(dict, @"Input dict is nil, message passed: %@", message);
UIColor *color = [[UIColor alloc] initWithDict:dict];
STAssertNotNil(color, @"Dict should yield a UIColor. dict: %@ message: %@",
dict, message);
UIColor *compColor = [[UIColor alloc] initWithRed:red
green:green
blue:blue
alpha:alpha];
STAssertNotNil(compColor,
@"Comparison color should not be nil."
@" r:%lf g:%lf b:%lf a:%lf message:%@",
red, green, blue, alpha, message);
STAssertTrue(CGColorEqualToColor(color.CGColor, compColor.CGColor), message);
[color release];
[compColor release];
}
- (void)testGoodColors {
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
@"122", @"blue",
@"0.37", @"alpha",
nil];
[self compareDict:dict
withRed:127.0/255
green:133.0/255.0
blue:122.0/255.0
alpha:0.37
message:@"Dict color with strings should be equal to colors"];
dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:127], @"red",
[NSNumber numberWithInt:133], @"green",
[NSNumber numberWithInt:122], @"blue",
[NSNumber numberWithDouble:0.37], @"alpha",
nil];
[self compareDict:dict
withRed:127.0/255
green:133.0/255.0
blue:122.0/255.0
alpha:0.37
message:@"Dict color with NSNumber should be equal to colors"];
}
- (void)testMissingColors {
NSDictionary *dictMissingRed = [NSDictionary dictionaryWithObjectsAndKeys:
@"133", @"green",
@"122", @"blue",
nil];
STAssertNil([[UIColor alloc] initWithDict:dictMissingRed],
@"Dict missing red should yield nil UIColor");
NSDictionary *dictMissingGreen = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"122", @"blue",
nil];
STAssertNil([[UIColor alloc] initWithDict:dictMissingGreen],
@"Dict missing green should yield nil UIColor");
NSDictionary *dictMissingBlue = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
nil];
STAssertNil([[UIColor alloc] initWithDict:dictMissingBlue],
@"Dict missing blue should yield nil UIColor");
}
- (void)testBadAlpha {
NSDictionary *dictMissingAlpha = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
@"122", @"blue",
nil];
[self compareDict:dictMissingAlpha
withRed:127.0/255.0
green:133.0/255.0
blue:122.0/255.0
alpha:1.0
message:@"Missing alpha should default to 1.0"];
NSDictionary *dictBadAlpha = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
@"122", @"blue",
@"blah", @"alpha",
nil];
[self compareDict:dictBadAlpha
withRed:127.0/255.0
green:133.0/255.0
blue:122.0/255.0
alpha:0.0
message:@"Non-numeric alpha should make 0.0"];
NSDictionary *dictNegAlpha = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
@"122", @"blue",
@"-0.4", @"alpha",
nil];
[self compareDict:dictNegAlpha
withRed:127.0/255.0
green:133.0/255.0
blue:122.0/255.0
alpha:0.0
message:@"Negative alpha should make 0.0"];
NSDictionary *dictTooBigAlpha = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
@"122", @"blue",
@"100", @"alpha",
nil];
[self compareDict:dictTooBigAlpha
withRed:127.0/255.0
green:133.0/255.0
blue:122.0/255.0
alpha:1.0
message:@"Out of range alpha should default to 1.0"];
}
- (void)testBadDictValues {
NSValue *dummy = [NSValue valueWithPointer:"dummy"];
NSDictionary *dictBadRed = [NSDictionary dictionaryWithObjectsAndKeys:
dummy, @"red",
@"133", @"green",
@"122", @"blue",
nil];
STAssertNil([[UIColor alloc] initWithDict:dictBadRed],
@"Dict with invalid red value should yield nil UIColor");
NSDictionary *dictBadGreen = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
dummy, @"green",
@"122", @"blue",
nil];
STAssertNil([[UIColor alloc] initWithDict:dictBadGreen],
@"Dict with invalid green value should yield nil UIColor");
NSDictionary *dictBadBlue = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
dummy, @"blue",
nil];
STAssertNil([[UIColor alloc] initWithDict:dictBadBlue],
@"Dict with invalid blue value should yield nil UIColor");
NSDictionary *dictBadAlphaType = [NSDictionary dictionaryWithObjectsAndKeys:
@"127", @"red",
@"133", @"green",
@"122", @"blue",
@"100", dummy,
nil];
[self compareDict:dictBadAlphaType
withRed:127.0/255.0
green:133.0/255.0
blue:122.0/255.0
alpha:1.0
message:@"Alpha with invalid type should default to 1.0"];
}
@end

View File

@@ -1,19 +0,0 @@
//
// AppDelegate_iPad.h
// AdWhirlTests
//
// Created by Nigel Choi on 8/5/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface AppDelegate_iPad : NSObject <UIApplicationDelegate> {
UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end

View File

@@ -1,67 +0,0 @@
//
// AppDelegate_iPad.m
// AdWhirlTests
//
// Created by Nigel Choi on 8/5/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import "AppDelegate_iPad.h"
@implementation AppDelegate_iPad
@synthesize window;
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
/*
Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
*/
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
/*
Restart any tasks that were paused (or not yet started) while the application was inactive.
*/
}
- (void)applicationWillTerminate:(UIApplication *)application {
/*
Called when the application is about to terminate.
*/
}
#pragma mark -
#pragma mark Memory management
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
/*
Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
*/
}
- (void)dealloc {
[window release];
[super dealloc];
}
@end

View File

@@ -1,315 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">782</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">105</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBProxyObject" id="606714003">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUIWindow" id="62075450">
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{768, 1024}</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
<int key="IBUIStatusBarStyle">2</int>
</object>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
<bool key="IBUIResizesToFullScreen">YES</bool>
</object>
<object class="IBUICustomObject" id="250404236">
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="250404236"/>
<reference key="destination" ref="62075450"/>
</object>
<int key="connectionID">7</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="250404236"/>
</object>
<int key="connectionID">8</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="606714003"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="62075450"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="250404236"/>
<reference key="parent" ref="0"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>2.IBEditorWindowLastContentRect</string>
<string>2.IBPluginDependency</string>
<string>6.CustomClassName</string>
<string>6.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIApplication</string>
<string>UIResponder</string>
<string>{{903, 55}, {768, 1024}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>AppDelegate_iPad</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">9</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">AppDelegate_iPad</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">window</string>
<string key="NS.object.0">UIWindow</string>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">iPad/AppDelegate_iPad.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="786211723">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIApplication</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="786211723"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIWindow</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../AdWhirlTests.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">105</string>
</data>
</archive>

View File

@@ -1,19 +0,0 @@
//
// AppDelegate_iPhone.h
// AdWhirlTests
//
// Created by Nigel Choi on 8/5/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface AppDelegate_iPhone : NSObject <UIApplicationDelegate> {
UIWindow *window;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end

View File

@@ -1,83 +0,0 @@
//
// AppDelegate_iPhone.m
// AdWhirlTests
//
// Created by Nigel Choi on 8/5/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import "AppDelegate_iPhone.h"
@implementation AppDelegate_iPhone
@synthesize window;
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
/*
Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
*/
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
/*
Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
*/
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
/*
Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
*/
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}
- (void)applicationWillTerminate:(UIApplication *)application {
/*
Called when the application is about to terminate.
See also applicationDidEnterBackground:.
*/
}
#pragma mark -
#pragma mark Memory management
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
/*
Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
*/
}
- (void)dealloc {
[window release];
[super dealloc];
}
@end

View File

@@ -1,327 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1024</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">782</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">105</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="450319686">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUICustomObject" id="987256611">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIWindow" id="380026005">
<reference key="NSNextResponder"/>
<int key="NSvFlags">1316</int>
<object class="NSPSMatrix" key="NSFrameMatrix"/>
<string key="NSFrameSize">{320, 480}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIResizesToFullScreen">YES</bool>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="987256611"/>
</object>
<int key="connectionID">5</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="987256611"/>
<reference key="destination" ref="380026005"/>
</object>
<int key="connectionID">6</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="380026005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="987256611"/>
<reference key="parent" ref="0"/>
<string key="objectName">App Delegate</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="450319686"/>
<reference key="parent" ref="0"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
<string>2.IBAttributePlaceholdersKey</string>
<string>2.IBEditorWindowLastContentRect</string>
<string>2.IBPluginDependency</string>
<string>2.UIWindow.visibleAtLaunch</string>
<string>4.CustomClassName</string>
<string>4.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIApplication</string>
<string>UIResponder</string>
<object class="NSMutableDictionary">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<string>{{520, 376}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<integer value="1"/>
<string>AppDelegate_iPhone</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">8</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">AppDelegate_iPhone</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">window</string>
<string key="NS.object.0">UIWindow</string>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">iPhone/AppDelegate_iPhone.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="565734826">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIApplication</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="565734826"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIWindow</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1024" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../AdWhirlTests.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">105</string>
</data>
</archive>

View File

@@ -1,5 +0,0 @@
{
MainTemplateFile = "class.m";
CounterpartTemplateFile = "class.h";
Description = "An Objective-C class file for AdWhirl development.";
}

View File

@@ -1,28 +0,0 @@
/*
«FILENAME»
Copyright «YEAR» «ORGANIZATIONNAME»
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <Foundation/Foundation.h>
«OPTIONALHEADERIMPORTLINE»
@interface «FILEBASENAMEASIDENTIFIER» : NSObject {
}
@end

View File

@@ -1,25 +0,0 @@
/*
«FILENAME»
Copyright «YEAR» «ORGANIZATIONNAME»
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
«OPTIONALHEADERIMPORTLINE»
@implementation «FILEBASENAMEASIDENTIFIER»
@end

View File

@@ -1,4 +0,0 @@
{
MainTemplateFile = "class.m";
Description = "An Objective-C class containing an OCUnit test case, with an optional header which includes the \"GTMSenTestCase.h\" header.";
}

View File

@@ -1,42 +0,0 @@
/*
«FILENAME»
Copyright «YEAR» «ORGANIZATIONNAME»
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#import <Foundation/Foundation.h>
#import "GTMSenTestCase.h"
«OPTIONALHEADERIMPORTLINE»
@interface «FILEBASENAMEASIDENTIFIER» : GTMTestCase {
}
@end
@implementation «FILEBASENAMEASIDENTIFIER»
-(void)setUp {
}
- (void)tearDown {
}
- (void)testX {
STAssertTrue((1+1)==2, @"Compiler isn't feeling well today :-(" );
}
@end

View File

@@ -1,10 +0,0 @@
These are templates for new AdWhirl files. To use the test case template, link it like so:
sudo ln -s "<your adwhirl directory>/iphone/FileTemplates/AdWhirlTestCaseClass.pbfiletemplate" \
"/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/File Templates/Cocoa Touch Class/"
Once you link it, you will see "AdWhirlTestCaseClass" in the New File dialog in Coca Touch Class. Make sure the test class file name ends with "Test.m"
Link Adwhirl class the same way for an empty class template with the standard Apache license.
If you are seeing __MyCompanyName__ in the generated file, make sure to set the company field for your personal card in Address Book.

View File

@@ -32,12 +32,12 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
NSLog(@"Download Core files failed. Retrying... ");
[self.downloadMessageStatus setText: @"Download Core files failed. Retrying... "];
UIAlertView *noNetworkConnectionAlert = [[UIAlertView alloc] initWithTitle: @"No Network Connection" message: @"Internet connection not found. Download can not continue until it is restored. Restore Wifi or Cellular connection and retry" delegate: self cancelButtonTitle: @"Retry Download" otherButtonTitles: nil];
[self.view addSubview: noNetworkConnectionAlert];
[noNetworkConnectionAlert show];
[noNetworkConnectionAlert release];
UIAlertView *noNetworkConnectionAlert = [[UIAlertView alloc] initWithTitle: @"No Network Connection" message: @"Internet connection not found. Download can not continue until it is restored. Restore Wifi or Cellular connection and retry" delegate: self cancelButtonTitle: @"Retry Download" otherButtonTitles: nil];
[self.view addSubview: noNetworkConnectionAlert];
[noNetworkConnectionAlert show];
[noNetworkConnectionAlert release];
}
}
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
@@ -55,19 +55,19 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
- (void) startDownload: (NSString *) downloadType
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self.downloadMessageStatus performSelectorOnMainThread:@selector(setText:) withObject:[NSString stringWithFormat: @"Please wait while the %@ files are being downloaded.", downloadType] waitUntilDone: NO ];
if ( downloadProgressView != nil )
{
[downloadProgressView removeFromSuperview];
[downloadProgressView release], downloadProgressView = nil;
}
downloadProgressView = [[UIProgressView alloc] initWithProgressViewStyle: UIProgressViewStyleDefault];
[self.downloadProgressView setFrame: CGRectMake(0, 0, 250, 50)];
[self.downloadProgressView setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ];
[self.view addSubview: downloadProgressView];
[self handleRotation: self.interfaceOrientation];
@@ -78,7 +78,7 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
NSError *error = nil;
// make sure Res directory exists
if ( ![[NSFileManager defaultManager] fileExistsAtPath: systemResourceDirectory] )
if ( ![[NSFileManager defaultManager] fileExistsAtPath: systemResourceDirectory] )
[[NSFileManager defaultManager] createDirectoryAtPath:systemResourceDirectory withIntermediateDirectories: YES attributes:nil error: &error];
if (error != nil)
@@ -86,7 +86,7 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
NSLog(@"Error in creating System Directory! %@", [error localizedDescription]);
error = nil;
}
// make sure the User directory exists as well
if ( ![[NSFileManager defaultManager] fileExistsAtPath: userResourceDirectory] )
[[NSFileManager defaultManager] createDirectoryAtPath: userResourceDirectory withIntermediateDirectories: YES attributes:nil error: &error];
@@ -96,10 +96,10 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
NSLog(@"Error in creating User Directory! %@", [error localizedDescription]);
error = nil;
}
// if an error occurred while creating the directory, game can't really run so do something
// TODO: throw out a notification and deal with error
NSURL *url = nil;
NSString *downloadFilename = nil;
// determine which file to download
@@ -119,11 +119,11 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
NSLog( @"Not Implemented for type: %@", downloadType);
}
url = [NSURL URLWithString: [NSString stringWithFormat: @"%@/%@", kDownloadUrlPath, downloadFilename]];
url = [NSURL URLWithString: [NSString stringWithFormat: @"%@/%@", kDownloadUrlPath, downloadFilename]];
NSString *downloadFilePath = [systemResourceDirectory stringByAppendingString: [NSString stringWithFormat: @"/%@", downloadFilename]];
NSLog(@"Downloading %@", [url absoluteURL]);
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setTemporaryFileDownloadPath: [NSString stringWithFormat: @"%@/%@.tmp", systemResourceDirectory, downloadFilename]];
@@ -131,9 +131,9 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
[request setDownloadProgressDelegate: downloadProgressView];
[request setShouldContinueWhenAppEntersBackground: YES];
[request setAllowCompressedResponse: YES];
[request setCompletionBlock:^{
wagicAppDelegate *appDelegate = (wagicAppDelegate *)[[UIApplication sharedApplication] delegate];
wagicAppDelegate *appDelegate = (wagicAppDelegate *)[[UIApplication sharedApplication] delegate];
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
NSLog(@"Saving to %@", downloadFilePath);
[dnc postNotificationName: [NSString stringWithFormat: @"%@Complete", downloadType] object: appDelegate];
@@ -150,11 +150,11 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
// post a notification that a download error has occurred.
NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter];
[dnc postNotificationName:@"fileDownloadFailed" object: downloadType];
}];
[request startAsynchronous];
[pool drain], pool = nil;
}
@@ -166,9 +166,9 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
[downloadProgressView release], downloadProgressView = nil;
if (downloadMessageStatus)
[downloadMessageStatus release], downloadMessageStatus = nil;
[super dealloc];
}
- (id) init
@@ -185,7 +185,7 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
[[self view] setBackgroundColor: [UIColor clearColor]];
// Initialization code
downloadMessageStatus = [[UITextView alloc] initWithFrame: CGRectMake(0, 0, 320, 320)];
downloadMessageStatus = [[UITextView alloc] initWithFrame: CGRectMake(0, 0, 320, 320)];
[self.downloadMessageStatus setBackgroundColor:[UIColor clearColor]];
[downloadMessageStatus setEditable: NO];
[self.view setBackgroundColor:[UIColor clearColor]];
@@ -194,12 +194,12 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
self.downloadMessageStatus.clipsToBounds = YES;
self.downloadMessageStatus.layer.cornerRadius = 10.0f;
[self.downloadMessageStatus setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ];
if (isPhone)
[self.downloadMessageStatus setFont: [UIFont systemFontOfSize: 20]];
else
[self.downloadMessageStatus setFont: [UIFont systemFontOfSize: 35]];
[self.view addSubview: downloadMessageStatus];
}
@@ -209,11 +209,11 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
#pragma mark - Application Lifecycle
- (void) didReceiveMemoryWarning
- (void) didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Relinquish ownership any cached data, images, etc that aren't in use.
}
@@ -287,30 +287,36 @@ static NSString *kDownloadUrlPath = @"http://wagic.googlecode.com/files/";
[appDelegate rotateBackgroundImage: self.interfaceOrientation toInterfaceOrientation: toInterfaceOrientation];
}
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
bool isPhone = (UI_USER_INTERFACE_IDIOM()) == UIUserInterfaceIdiomPhone;
BOOL rotateDevice = !((interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
|| (interfaceOrientation == UIInterfaceOrientationPortrait));
BOOL rotateDevice = UIInterfaceOrientationIsPortrait(interfaceOrientation);
if (isPhone)
return rotateDevice;
return YES;
return YES;
}
-(BOOL)shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations {
return [self.navigationController.topViewController supportedInterfaceOrientations];
}
#pragma mark -
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end

View File

@@ -86,7 +86,7 @@ void InteractiveButton::Render()
{
renderer->RenderQuad(buttonImage.get(), buttonXOffset - buttonImage.get()->mWidth/2, buttonYOffset + mainFontHeight/2, 0, pspIconsSize, pspIconsSize);
}
mainFont->SetColor(ARGB(255, 200, 200, 200));
mainFont->SetColor(ARGB(255, 0, 0, 0));
mainFont->DrawString(detailedInfoString, buttonXOffset, buttonYOffset);
}

View File

@@ -285,6 +285,8 @@
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
28FD15000DC6FC520079059D /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD14FF0DC6FC520079059D /* OpenGLES.framework */; };
28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD15070DC6FC5B0079059D /* QuartzCore.framework */; };
75D209D3181D54FD009916AC /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 75D209D1181D54FD009916AC /* Default-568h@2x.png */; };
75D209D4181D54FD009916AC /* wagic-80x80.png in Resources */ = {isa = PBXBuildFile; fileRef = 75D209D2181D54FD009916AC /* wagic-80x80.png */; };
CE97CD1E1295AB4300FDFD3B /* SimplePopup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE97CD1D1295AB4300FDFD3B /* SimplePopup.cpp */; };
CE9A478512B514BA00C9F38A /* EAGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A477612B514BA00C9F38A /* EAGLView.m */; };
CE9A478612B514BA00C9F38A /* EAGLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A477812B514BA00C9F38A /* EAGLViewController.m */; };
@@ -576,6 +578,8 @@
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
28FD14FF0DC6FC520079059D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
28FD15070DC6FC5B0079059D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
75D209D1181D54FD009916AC /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = SOURCE_ROOT; };
75D209D2181D54FD009916AC /* wagic-80x80.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wagic-80x80.png"; sourceTree = SOURCE_ROOT; };
8D1107310486CEB800E47090 /* wagic-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "wagic-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
CE8B8A231299C22900A3CDEF /* DebugRoutines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugRoutines.h; sourceTree = "<group>"; };
CE97CD1D1295AB4300FDFD3B /* SimplePopup.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = SimplePopup.cpp; sourceTree = "<group>"; };
@@ -1076,6 +1080,8 @@
128FB96A149537A600ED4EE6 /* Images */ = {
isa = PBXGroup;
children = (
75D209D1181D54FD009916AC /* Default-568h@2x.png */,
75D209D2181D54FD009916AC /* wagic-80x80.png */,
12211ED21494916D00641703 /* Default-Landscape.png */,
12211ED31494916D00641703 /* Default-Portrait.png */,
12211ED01494823E00641703 /* Default@2x.png */,
@@ -1761,7 +1767,9 @@
12B8123C1404B9E20092E303 /* zfs.vcxproj.filters in Resources */,
129654D6148AA23A0031100B /* modrules.xml in Resources */,
128ED37C148BAE7B00C58E83 /* README.txt in Resources */,
75D209D3181D54FD009916AC /* Default-568h@2x.png in Resources */,
12211ECB1494811D00641703 /* Default.png in Resources */,
75D209D4181D54FD009916AC /* wagic-80x80.png in Resources */,
12211ECD149481B600641703 /* Default-Landscape~ipad.png in Resources */,
12211ECF149481C400641703 /* Default-Portrait~ipad.png in Resources */,
12211ED11494823F00641703 /* Default@2x.png in Resources */,