2015-01-30 18 views
2

나는이 오류ABCreateStringWithAddressDictionary 암시 적 선언

Implicit declaration of function 'ABCreateStringWithAddressDictionary' is invalid in C99

이상한 부분은 iOS7에 위해가 동안 오류를 유발하지 않는다는 것입니다있어 코드

NSString *address = ABCreateStringWithAddressDictionary(placemark.addressDictionary, NO);

이 라인을 사용하는 경우 iOS8입니다.

누구나 동일한 문제를 겪었습니까?

+0

import AddressBookUI framework –

+0

iOS8에서도 문제없이이 코드를 실제로 사용했습니다. 그리고 다른 파일에 대해서도이 줄을 사용 했으므로 제대로 작동합니다. 추가 UITextView UIViewController 파일에서이 문제가 발생합니다. 아마도 textView 때문일 것입니다. @matt – TonyTony

+0

또한 'int'에서 'NSString *'으로의 암시 적 변환을 오류 메시지로 ARC로 허용하지 않습니다. '경고 메시지로'int '에서'NSString * __ strong '에 할당하는 호환되지 않는 정수 대 포인터 변환 – TonyTony

답변

3

해당 문제를 재현 할 수있는 유일한 방법은 AddressBookUI 프레임 워크를 가져 오는 것을 잊어 버리는 것입니다.

@import AddressBookUI; 
@import CoreLocation; 
@implementation Thing 
- (void) test { 
    CLPlacemark* p = [CLPlacemark new]; 
    NSString *address = ABCreateStringWithAddressDictionary(p.addressDictionary, NO); 
} 
@end 

을하지만 내가 처음 @import 줄을 주석으로 경우에, 당신의 오류 : 다른 말로하면 내가 이런 말을하면, 그것은 컴파일합니다. 그게 당신 실수하는거야?

+0

당신이 저를 구해 줬습니다 ... 나는 실수로'#import ' – TonyTony

관련 문제