As a follow up of yesterday blog post on advertising on Android, this blog post covers the iOS side of the story. To make the story short, you can recompile the same application and support iAd (Apple advertising network) on the iOS platform. Given iAd does not require an ID for the ad, you can leave the BannerID added in code for Android, and it will simply be ignored on iOS. Easy. There are, however, a couple of caveats.

First, while you don't have to change anything in the source code of the application, if you compile it and run on a device, you'll bump into an error like: "ObjectiveC class ADBannerView could not be found". This is due to the fact that a required library is not automatically pulled it. The current workaround is to add the following to the linker parameters (in the Linking | Options edit box):

-framework iAd -framework StoreKit

You can see this suggestion discussed on the forum at: https://forums.embarcadero.com/message.jspa?messageID=649062.

Second, getting the ad to show on iOS is a little more tricky, as you need to create an entry in the AppStore listing (even without submitting the actual application to Apple) with an appid matching the actual id of the application. Not difficult, but it does take a little. At this point on your device you don't see actual advertising, but only a placeholder coming from the iAd network, as you can see below:

What about the money? I really don't know. I've just submitted the My Mini Figures app to the AppStore, and if they accept it I'll be able to make a comparison. If they refuse it, I'll try with a different app on both platforms. having gone through the various steps once, creating a second app with advertising should be quite simple.