sar*_*rah 30 xcode ios cocoapods
自从更新到Xcode10和Swift 4.2后,我总是在我的pod中获得这个构建时间警告.我该怎么做才能删除此警告?
我试图删除派生数据,清理和生成项目,但它不起作用:(
我发现有人在这里问了同样的问题https://github.com/Alamofire/Alamofire/issues/2624并且Jon Shier得到了答案,但是在删除以前的xcworkspace并更新cocoapods之后我仍然无法解决问题,我没有实现更改"生成位置相关的可执行文件"设置,因为我找不到它.请分享,如果你能找到这个问题的解决方案:)
Mar*_*pek 19
最终对我有用的是为 Pods 项目启用依赖位置的代码。我之前尝试禁用来自 pod 的警告并清除(而不是启用)生成位置相关代码设置,但这并没有真正起作用。
要启用位置相关代码(因此除去-pie,这是P osition我ndependent Ç ODE),打开xcworkspace后,去荚项目构建设置(设置为整个Pods项目,见截图),搜索position和将生成位置相关代码构建设置设置为是。
Ben*_*Ben 16
将“生成与位置相关的代码”设置为“是”感觉不正确。位置无关的是首选。框架和库之类的非应用程序目标始终始终与位置无关,因此发出警告。
显示的警告是链接器消息,@ Marcpek的屏幕快照中的其他设置似乎更合适:“链接>生成位置相关的可执行文件”。快速帮助显示此LD_NO_PIE设置。
即使这No从操作系统默认值继承而来,我还是尝试在我的CocoaPod目标中再次将其再次设置为No,并且似乎可以解决链接器警告。
您所做的任何项目设置都将在下次运行时丢失,pod install因此请编辑Podfile以使更改永久生效。添加config.build_settings['LD_NO_PIE'] = 'NO'到post_install阶段:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['LD_NO_PIE'] = 'NO'
end
end
end
Run Code Online (Sandbox Code Playgroud)
一种选择是切换到将 pod 链接为静态库而不是框架。use_frameworks!当 Swift 不支持静态库时是必需的,但现在它支持了,您可以从 Podfile 中删除该行pod install,警告应该消失了。
关于历史的更多信息use_frameworks:https : //stackoverflow.com/a/49469205/8831
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |