Unity iOS AdMob Xcode Compile Error: Semantic Issue GADUObjectCache.m

Close to being able to compile my Unity iOS project, but AdMob is giving me some problems. Running Xcode 6.1.1 and have the latest AdMob SDK, have all the build settings correct as far as I know and I’m getting the following three errors:

…/AdMob Test Build/Libraries/AdMob/Plugins/iOS/GADUObjectCache.m:25:16: ‘release’ is unavailable: not available in automatic reference counting mode

…/AdMob Test/AdMob Test Build/Libraries/AdMob/Plugins/iOS/GADUObjectCache.m:25:16: ARC forbids explicit message send of ‘release’

…AdMob Test/AdMob Test Build/Libraries/AdMob/Plugins/iOS/GADUObjectCache.m:26:10: ARC forbids explicit message send of ‘dealloc’

All three of these errors link me to these two lines of code:

  [_references release];
  [super dealloc];

I’m not an iOS Xcode developer and don’t have any idea what to do to resolve this. Tips?

Just faced the same problem. To fix this you need to manually disable ARC for AdMob plugin.
In xcode go to Build Phases → Compile Sources and set flag -fno-objc-arc on all “GAD” files (double click and paste), like this http://i.imgur.com/qhhiYkv.png

also you can do this in unity as answered here iOS - Disable ARC on XCode Projects - Unity Answers

[_references release], [super dealloc] and ARC refer to memory management methods of objects in OOP in Objective C. With the latest version of iOS “ARC” (Automatic Reference Counting) was introduced as a streamlined method of managing object in memory. Previously in ObjC you have manually handle all references to class objects by allocating the memory and then releasing it via [alloc] [release] and [super dealloc] calls.

With ARC the only call you are allowed to use is the [alloc] call. This means that you should simply comment out “[_references release]” and [super dealloc] as well.

Which version of the Admobs SDK are you using? admobSDK 7.0 has a fancy new framework for streamlined purposes. The fact that they would miss something so important seems very odd.