Trying to get my Universal app released and I rely on AdMob ads for revenue in this particular app. I'm having an issue getting AdMob support working, though I keep finding references to people actually running AdMob on their iPad Simulators.
Terminating app due to uncaught
exception
'AdMobInvalidLibaryVersionException',
reason: 'This version of AdMob SDK is
incompatible with the iPhone 3.2 SDK
or above. Make sure your Active SDK is
set to 3.1.X . If you need to build
with 3.2, use the 3.2 preview
library.'
I have not been able to find this "3.2 preview library" anywhere. Any ideas?
You find the binaries for the preview in the current SDK under:
/extra/libAdMob32.a
/extra/libAdMob32NoThumb.a
Unfortunately, the ads still do not work on an iPad device. If you currently want to build on 3.2 and at least have your iPhone ads working, find the previous release. It does not throw the AdMobInvalidLibaryVersionException and compiles fine on 3.2 The only issue is that you won't be able to get any ads on an iPad device. (Works fine in simulator for some reason).
Related
Both versions of my first App "Puffer's Train challenge" are currently sitting in the Apple queue "In Review". Saturday night I upgraded my iPhone 4 from 5.0 to 5.0.1 and also installed 5.0.1 on a new iPad 2.
Built & installed Lite versions of my app with iAds onto both devices. 5.0.1 initially caused both to crash. I was able to resolve that quickly (bad order of framework calls on my part) However! I spent the REST of Sunday trying to chase down any reason that test iAds are being served up to my iPhone (using wireless connection only to compare apples-to-apples), but the same code and the same calls fail with the error message "No inventory available" on my connected "wireless only" iPad 2.
App is built using xcode 4.2 for iphoneos, not universal, so I verified that the iAd framework call: ADBannerContentSizeIdentifierPortrait is returning 320x50 as it should. I "think" this rules out any problem that would be caused by different sized iAd requests.
Has anyone else experienced this same issue with Apple's test Ads using an iPad 2 device upgraded to 5.0.1? If so, I'd love to know that so I can stop (or at least slow down) pulling my hair out!
ps. Google's AdMob ads with which I replace iAds when not available, work Just Fine!
Because you're doing a Build & Install you're not using the Live (read: App Store) version of your app. This is why you're seeing Test Ads instead of actual Live ads.
Any time I've ever install an app to a device with Xcode I'm greeted with Test Ads from Apple. I believe this is because Apple intelligently looks at your app (either the version numbers or the provisioning file baked into the app) and knows that it's a developer build.
Now, if you're seeing Test Ads from the version of your app you've downloaded from the App Store then that's an entirely different problem. I've seen this as well but it doesn't sound like your problem.
SDK version 5.0.4, device has IOS 4.3.2. When building for the simulator, all is fine and the ads load. When changing to 'device', I get 9000+ warnings(!) "unexpected srelocation type 9" when linking the app itself. When run on a device, the app crashes (EXC_BAD_ACCESS) at the first call in viewDidLoad, [[GADBannerView alloc] initWithFrame].
The problem we had was that originally, we used AdWhirl to serve the old AdMob (nee Google Admob) ads. When using the proper non-test AdWhirl account, AdMob ads (only!) would never show up.
I've tried updating AdWhirl and Google Admob in one go, and removing AdWhirl only using the new AdMob. With the latter the behavior is as described above, when used with AdWhirl it crashes a few seconds later when AdWhirl has loaded the ad.
Surely someone else got this, what did you do to solve it?
(Update: on installing it on another Iphone, I strangely got more info than EXC_BAD_ACCESS. It says:
Program received signal: “EXC_BAD_ACCESS”.
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Can't find dlopen function, so it is not possible to load shared libraries.)
Cannot access memory at address 0x2fdfe8c0
Cannot access memory at address 0x2fdfe8c0
My guess then is that I must make a shared library static (and that it works on the Simulator, because it has dlopen()). How do I do that?
)
I believe that that with SDK Version 5.0.4, it will only work if you are on the latest version of XCode which is I believe 4.2. Are you on the latest version of XCode?
The problem is in the framework libGoogleAdMobAds.a from GoogleAdMob SDK.
Use previous version of libGoogleAdMobAds.a from adMob.com for your Xcode, not the new one.
After that all 11345 warnings gone and app runs correct on device.
Regards, Papa Buba
I made an adhoc build of my iphone and ipad app and sent to client.but the problem is that only ipad version he is able to drag into itunes.
the iphone version when he drags into itunes,it displays the error
"app could not be installed in the itunes library because it is not a valid application".
Both application works in my mac properly.what may be the problem the iphone app were made for 4.1 deployment target and ipad 3.2 is this any reason or is it that due to itunes version?
it seems really strange but the app could not be added to itunes and showed invalid app because the app name contained special characters!
I want to create an iPhone application. But the build should work for iPhone device 3.0 to 4.0.
Please give me some idea for that. Because, I have created an iPhone application. I have installed that application in a device (version 3.1.3), it is working fine. I have tried in iPhone version 4.0 with the same build. But I am getting some error message.
error message:
"entitlements are not valid".
There are two settings that you should look at (in your project's info on the build tab):
1) Base SDK - this is the SDK that you are going to link your app with - set this as high as you can.
2) iOS Deployment Target - set this to be iOS 3.0
The first one is the one used by the compiler to make your app.
The second one controls which devices your app can run on (iOS 3.0 means 3.0 and anything above that)
Watch out though - if you use any methods that are only available in iOS 4.0 the app will compile fine but will crash if you run it on a 3.x device - you need to thoroughly test it just to be on the safe side. If you look in the docs each method says which version of iOS it's available on.
I've recently updated xcode to 3.2 and to the iPhone SDK 4.0. I've submuitted the binary and my app is "waiting for review". However, my base SDK was set to iPhone Device 3.2 and I have been reading rumours that apps not submitted with iPhone SDK4.0 wont be approved. Is this correct? My deployment target is 3.0, but BASE SDK is iPHone Device 3.2. Thanks in advance.
If you see https://developer.apple.com/iphone/checklist/ Apple says:
All new applications and updates to existing applications submitted to the App Store must be built with iPhone SDK 4.
However I do know of people who have had 3.2-built apps accepted in the past week so it doesn't look like Apple is rejecting apps based on the SDK at the moment.
So if you have already submitted your app, I would wait and see what happens. Otherwise you should compile with the 4.0 SDK.
That should be fine, I submitted an app like this a week ago.
Base SDK 3.2 should be correct if you want you app to be compatible with iPads (they require 3.2). If I am correct I think you will find that the iPhone will be compiled 4.0.
John.