PLBuildVersion类在两个框架中实现

Fla*_*Dog 224 xcode ios10 xcode8

iOS 10/Xcode 8 GM构建得到以下,从未在Xcode 7上使用过.任何想法?

objc [25161]:类PLBuildVersion在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices(0x12049a910)中实现和/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices(0x1202c4210).将使用两者之一.哪一个未定义.

(注意:似乎只在模拟器中发生,不会出现在真实设备上).

Rom*_*lov 144

大意

主要想法很简单:

如果您的应用程序(或依赖项,如Pod)使用框架,使用显式(或隐式)PhotoLibraryServices.frameworkAssetsLibraryServices.framework依赖,Xcode会警告您(即使您只使用其中一个).它可能是Photos/PhotosUI.framework或者是AssetsLibrary.framework另一种(我没有完整的依赖列表,但它是可能的).

问题是什么?

与名类PLBuildVersion两种定义PhotoLibraryServices.frameworkAssetsLibraryServices.framework.类名在Objective-C中是唯一的(您不能定义具有相同名称的2个类),因此未定义哪个将在运行时使用.

但是,我认为这不会是一个问题,因为两个类都有相同的方法和字段(用反汇编程序检查),我猜两者都是从同一个源编译的.

雷达已经发送.

  • 我发现如果我在一个VC中使用Webview,当显示VC时,我在调试窗口中收到了这种类型的警告消息.我使用Xcode 8.1,swift 3. (9认同)
  • 警告信息仍在那里. (2认同)
  • 当我设置`.attributedText`时,我也收到了这个警告.我没有访问相机或照片.即使没有涉及时间密集型任务(没有网络访问,没有文件i/o等),此警告也会导致View Controller加载严重滞后. (2认同)

Rap*_*ira 52

根据Apple员工在Apple开发者论坛上的回答:

您无法控制列出的任何类源,因此除了报告错误之外,您无法或应该执行任何操作.

  • 即使它不是一个问题,它仍然会产生烦人和分散注意力的输出,这尖叫"错误"...... (2认同)

小智 46

我无法找到摆脱警告的方法,但如果你想阻止应用程序崩溃,你需要提供一个描述你访问相机,照片库等的原因.这是iOS10中的新功能.

Info.plist文件中输入以下内容.

照片

关键: Privacy - Photo Library Usage Description 价值: $(PRODUCT_NAME) photo use

相机

关键: Privacy - Camera Usage Description 价值: $(PRODUCT_NAME) camera use

更多信息可以在这里找到:https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html

  • 警告信息仍然存在. (33认同)
  • 我的应用程序根本不使用相机,我收到消息.尽管如此,我还是按照你的建议尝试将这些添加到plist中,但仍然没有解决它. (6认同)
  • 有人想出来吗?我没有使用照片库,也没有使用相机,但我仍然收到警告和崩溃 (5认同)
  • @MikeG我也没有使用任何一个库并且仍然遇到崩溃,我通过将键/字符串配置细节添加到`info.plist`文件来消除警告.显然它在IOS 10.x中是必需的 (2认同)
  • 将textView.attributedText设置为NSAttributedString后,我收到此警告 (2认同)
  • 它对我不起作用.仍然继续崩溃. (2认同)

mat*_*att 12

我发现只使用UIWebView就可以得到这个错误.我的解决方案是用WKWebView取代我对UIWebView的使用.

  • 我试过WKWebView,但警告仍然出现 (5认同)

Ger*_*tan 5

在将Fabric上的Answers添加到我的项目后,我有了这个.

删除派生数据对我来说很有用.(在XCode中移动alt命令k)

一年后编辑:

删除派生数据后,请始终退出XCode并再次启动.

在不相关的情况下,我的印象是删除派生数据不会清除派生数据的内存缓存中的XCode.