Хотя ответ UPT верен, это приведет к утечке памяти
из документации:
CGPDFStringCopyTextString
«... Вы несете ответственность за освобождение этого объекта.»
правильный способ сделать это будет:
CFStringRef _res = CGPDFStringCopyTextString(pdfString);
NSString *result = [NSString stringWithString:(__bridge NSString *)_res];
CFRelease(_res);