iOS 10 / Xcode 8 GM build getting the below, never had it before on Xcode 7. Any ideas?
objc[25161]: Class PLBuildVersion is implemented in both
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices
(0x12049a910) and
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices
(0x1202c4210). One of the two will be used. Which one is undefined.
(NOTE: Only seems to happen in simulator, does not appear on real device).
Best Answer
Main Idea
Main idea is simple:
If your app (or dependencies, such as Pods) uses framework, that uses explicit (or implicit)
PhotoLibraryServices.framework
orAssetsLibraryServices.framework
as dependency, Xcode warns you (even if you are using only one of them). It might bePhotos/PhotosUI.framework
orAssetsLibrary.framework
, or another (I don't have full list of dependencies, but it is possible).What is the problem?
Class with name
PLBuildVersion
is defined in bothPhotoLibraryServices.framework
andAssetsLibraryServices.framework
. Class name is unique in Objective-C (you can't define 2 classes with same name), so it is undefined which one will be used in runtime.However, I think that it will not be a problem, because both classes have same methods and fields (checked this with disassembler) and I guess that both were compiled from the same source.
Radar is already sent.