WeZ*_*ard 58 xcode objective-c interface-builder swift ibdesignable
我有一个Objective-C和Swift混合动态框架.混合框架与两个纯Objective-C动态框架相关联.
当我尝试使用IB Designable在混合框架中标记任何类并在storyboard或nib中使用该类时,Xcode总是说它的实例无法呈现.
并且有错误消息:
IB Designables:无法呈现WZUITokenField的实例:dlopen(WZUIKit.framework,1):未加载库:/ Library/Frameworks/WZFoundation.framework/WZFoundation引用自:WZUIKit.framework原因:图像未找到
IB Designables:无法更新自动布局状态:dlopen(WZUIKit.framework,1):未加载库:@ rpath/WZFoundation.framework/WZFoundation参考自:WZUIKit.framework原因:未找到图像
框架WZUIKit是Objective-C和Swift混合框架,WZFoundation是纯Objective-C.
此外,所有这些sutff都适用于任何设备或模拟器.
WeZ*_*ard 80
最后,我通过添加$(CONFIGURATION_BUILD_DIR)目标的构建设置Runpath Search Paths字段解决了这个问题.
另外,您可能需要对Xcode执行一些额外的步骤.
~/Library/Developer/Xcode/DerivedDataEditor菜单做Refresh All Views; 等待构建完成,错误应该消失感谢@Mojtaba
Ale*_*lex 18
如果您在构建Mac应用程序时遇到同样的问题,请添加@loader_path/../Frameworks以Runpath Search Paths解决此问题.
我在包含IBDesignables的框架上遇到此错误。
我不得不添加$(FRAMEWORK_SEARCH_PATHS)到LD_RUNPATH_SEARCH_PATHS设置在我的框架的目标。
更新运行路径设置,构建并刷新情节提要中的视图后,错误消失了。甚至不必清理build文件夹。
有趣。
首先,WeZZard的回答使我朝着正确的方向前进,但这并不是我的解决方案。
在我的iOS项目中,某些内容已覆盖Runpath Search Paths目标中的字段。它看起来像这样:
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
我尝试了添加的解决方案,$(CONFIGURATION_BUILD_DIR)但这对我不起作用。由于它不起作用,出于习惯,我只是删除了配置条目(返回项目默认值)。当我这样做时,它重置为:
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
如果我深入研究xcconfig文件,它似乎来自Cocoapods。
@loader_path关键是和Alex一样,但是iOS和Mac OS X的路径略有不同。
| 归档时间: | 
 | 
| 查看次数: | 33880 次 | 
| 最近记录: |