Swift 2: missing symbols in upgraded framework

Originator:rix.rob
Number:rdar://21289929 Date Originated:08-Jun-2015 05:58 PM
Status:Open Resolved:
Product:Developer Tools Product Version:Xcode-7-beta (7A120f)
Classification:Other Bug Reproducible:Always
 
Summary:
A framework that linked fine with Xcode 6.3+ & Swift 1.2 can’t link when upgraded.


Steps to Reproduce:
1. Download https://github.com/robrix/Prelude
2. Open the xcodeproj in Xcode 7
3. Do the conversion stuff
4. Build


Expected Results:
Successful build


Actual Results:
Link failure:

Undefined symbols for architecture x86_64:
  "_CFStringGetCStringPtr", referenced from:
      fixStringForCoreData(objc_object*) in libarclite_macosx.a(arclite.o)
  "_kCFCoreFoundationVersionNumber", referenced from:
      __ARCLite__load() in libarclite_macosx.a(arclite.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


Regression:
A workaround is to link the framework target against CoreFoundation. Note that this was not necessary before.

If it’s actually expected to be necessary now, it’d be good to have it added to the converter. Oh and docs would be good.


Notes:
N/A

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!