Q:

ABCreateStringWithAddressDictionary Implicit declaration

When I use this line of code
NSString *address = ABCreateStringWithAddressDictionary(placemark.addressDictionary, NO);
I got this error
Implicit declaration of function 'ABCreateStringWithAddressDictionary' is invalid in C99
The strange part is that for iOS7 it does not trigger the error while for iOS8 it does.  
Has anyone met the same problem? 

A:

The only way I can reproduce that issue is by forgetting to import the AddressBookUI framework.  In other words, if I say this, it compiles:
@import AddressBookUI;
@import CoreLocation;
@implementation Thing
- (void) test {
    CLPlacemark* p = [CLPlacemark new];
    NSString *address = ABCreateStringWithAddressDictionary(p.addressDictionary, NO);
}
@end

But if I comment out the first @import line, I get your error.  Is that the mistake you're making?