AddressBook isn't linked via PassKit on iOS < 10 if built with iOS 10 SDK

Originator:keithbsmiley
Number:rdar://28064734 Date Originated:29-Aug-2016 15:32
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 10 beta 6 SDK
Classification:Crash/Hang/Data Loss Reproducible:Always
 
Summary:
If you build an app that imports PassKit with the iOS 10 SDK, and use a constant from AddressBook.framework (such as `kABPersonAddressStreetKey`), if you run to iOS < 10 simulator, the app crashes on launch.

Steps to Reproduce:
1. Create a new iOS project
2. Import PassKit
3. Add `print(kABPersonAddressStreetKey)`
4. Run to the iOS 9 simulator

Expected Results:
`Street` is printed

Actual Results:
The app crashes on launch with `dyld: Symbol not found: _kABPersonAddressStreetKey`

Version:
iOS 10 beta 6 SDK

Notes:

A workaround for this is to manually add AddressBook.framework to your "Linked Frameworks and Libraries"

See the attached project for an example.

Entire crash log:

```
dyld: Symbol not found: _kABPersonAddressStreetKey
  Referenced from: /Users/ksmiley/Library/Developer/CoreSimulator/Devices/1CC234EA-3994-48AF-9CF0-1C1516669C88/data/Containers/Bundle/Application/5D5AA158-2081-431A-BE88-AA5A5EE7CA79/PassKitImportBug.app/PassKitImportBug
  Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/PassKit.framework/PassKit
 in /Users/ksmiley/Library/Developer/CoreSimulator/Devices/1CC234EA-3994-48AF-9CF0-1C1516669C88/data/Containers/Bundle/Application/5D5AA158-2081-431A-BE88-AA5A5EE7CA79/PassKitImportBug.app/PassKitImportBug
```

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!