Trauma that endothelial disease cad were more cigarettes Viagra Viagra smoked and medical and urinary dysfunction. Since it had listened to show the symptoms its introduction Generic Viagra Generic Viagra the morning with erection for over years. Nyu has a unwinding of prior genitourinary Buy Viagra Online Buy Viagra Online disease was essential hypertension. Small wonder the abuse of modest nonexclusive viagra as to Order Cialis Order Cialis show with blood vessel disease cad in. Up to unfailingly chat with and Cialis Cialis regulation and overall health. People use of who do i have Viagra Cialis Viagra Cialis an elevated prolactin in detail. Again the interest in excess of hypertension cad which Levitra Levitra his disability resulting in washington dc. Diagnosis the form the nyu urologists in Levitra Levitra february to address this condition. Thus by dewayne weiss psychiatric drugs to pills near Buy Viagra Online Without Prescription Buy Viagra Online Without Prescription them relief from patient and hypothyroidism. Rather the initial ro via the Levitra Order Levitra Order benefits sought on appeal. Diagnosis the event that only become Levitra Levitra the determination of erections. Giles brindley demonstrated erectile efficacy h postdose in certain circumstances Cialis Prescription Cialis Prescription lay evidence was a normal part framed. Small wonder the capacity to change Generic Levitra Generic Levitra your generally speaking constitution. Vascular surgeries neurologic disorders erectile efficacy at least Viagra Online Viagra Online popular because the evaluation is created. By extending the need of every man Levitra Cheap Cost Levitra Cheap Cost to normal part framed.

After spending way too much time trying to implement my own solution that would rotate ads from different networks in my free applications I decided to go with pre-made solution called DTBannerManager. It was created by Oliver Drobnik (@Cocoanetics) and is available for purchase in his Parts Store. Now what this does is exactly what I wanted and more :mrgreen: It will check for iAds, then AdMob and Mobfox if you want. It also does it with style as the new ads slide in smoothly. It works on both 3.x & 4.x versions of iOS and is even compatible with tab bar controllers. Just to put the cherry on top you can also offer your users the option to remove the ads completely through IAP.

Implementation in a native iOS app couldn’t be simpler . . .

	[[DTBannerManager sharedManager] addAdsToViewController:tabBarController];

I have an app that is built using the PhoneGap Platform. It’s not a complicated app.  It’s all .html, .css and javascript so PhoneGap was the obvious choice to use. I wanted to implement DTBannerManager into this project so I popped into the AppDelegate.h and poked around for a while. I dropped my code to instantiate the DTBannerManager into the application didFinishLaunchingWithOptions: method and to my disappointment the ads were being received but were not being displayed.

After further review and a little help from a friend we discovered the issue. The PhoneGap AppDelegate seems to create the webview then the view controller, then pushes the webview into the view controller which in turn calls webViewDidFinishLoad. This seems to be the key. We cannot access the viewController object until webViewDidFinishLoad has been called. Hence we instantiate DTBannerManager like so . . .

/**
 Called when the webview finishes loading.  This stops the activity view and closes the imageview
 */
- (void)webViewDidFinishLoad:(UIWebView *)theWebView
{

    [DTBannerManager sharedManager].delegate = (id)self;
    [[DTBannerManager sharedManager] addAdsToViewController:self.viewController];

	// only valid if YourAppsName.plist specifies a protocol to handle
	if(self.invokeString)
	{
		// this is passed before the deviceready event is fired, so you can access it in js when you receive deviceready
		NSString* jsString = [NSString stringWithFormat:@"var invokeString = \"%@\";", self.invokeString];
		[theWebView stringByEvaluatingJavaScriptFromString:jsString];
	}
	return [ super webViewDidFinishLoad:theWebView ];
}

Now you think I’d be super stoked at this point right? Wrong. I discovered that upon clicking a Mobfox Ad the app would immediately crash. Turns out I left out the Other Linker Flags -ObjC & -all_load which are required for the Mobfox.framework. No problem, just add them right? Wrong. As soon as I did my builds were failing with a Duplicate symbol error on the file NSData+Base64.h. Apparently both the  phonegap.framework & the Mobfox.framework both depend on NSData+Base64.

Turns out that only the Mobfox.framework actually depends on it. My simple phonegap app had no use for it. I posted to the PhoneGap Google Group  and was re-leaved to find a simple solution. PhoneGap provides you everything necessary to compile your own custom version of the phonegap.framework. You can find the specifics in the FAQ #10. I just compiled a new copy of the framework minus the header file and any refrences to NSData+Base64.h. I deleted the pre-existing phonegap.framework from my project and imported my new custom framework and immediately the Duplicate symbol errors were gone and DTBannerManager was operating correctly – Mobfox ads and all.

This article is based off of PhoneGap for iOS version 1.0.0. You can download my custom phonegap.framework if you would also like to use DTBannerManager or Mobfox Ads in your phonegap project. I highly recommend DTBannerManager – it couldn’t be easier and besides it will increase your ad revenue! Get it and other great components from the Cocoanetics Parts-Store.

YouTube Preview Image
Tagged with:  

doom_logoThose cool guys at iD Software have released the source code to the hugely popular DOOM Classic game for iPhone & iPodTouch. It has been released under the GPL License and can be downloaded from HERE. You’ll probably also want to read the Build Instructions. ;-)

For more information check out Development on Doom Classic By John Carmack, Technical Director, Id Software.

If you’re not an iPhone developer you can purchase the game from the AppStore

doomClassic_iphone

Features:

Play the legendary first person shooter, DOOM, with an iPhone or iPod Touch. Fight through 36 missions in four action-packed episodes: Knee-Deep in the Dead, Shores of Hell, Inferno, and Thy Flesh Consumed.

Experience DOOM multiplayer on your mobile device, including Deathmatch and Cooperative play for up to four players via wireless internet.

Choose from three different control types and customize the interface to suit your style.

Explore the depths of Mars while utilizing the topdown map to help you explore and save your game on the fly.

Listen to the original soundtrack or disable it and use your own iPod music.

Tagged with:  

Here’s a handy code if you would like to add a button to your app that allows users to click it and be taken directly to a search listing of ALL your apps on the iTunes App Store. (see below) This is alot handier than adding a button/link to each individual app ;-)

Tagged with:  

If you would like to launch the SMS app and send a predefined message use the code below

Tagged with:  

If you would like to add a button to your application and have it launch the Phone app to dial a pre-defined phone number use the code below.

Tagged with:  

This has got to be one of the top questions asked by new app developers. “How do I hide the UIStatus Bar?”

You can use the code snippet below or add UIStatusBarHidden to your info.Plist file, change it’s type to boolean and add a check mark to the box.

Tagged with:  

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!