无法从 Cocoapods 渲染 SwiftUI 预览

Jon*_*gel 7 ios cocoapods swift swiftui

SwiftUI在一个公共库中有一个结构体,我寄给自己。

public struct NTextField: View {
    public var body: some View {
        Text("Hello, World!")
    }

    public init() {

    }
}

struct NTextField_Previews: PreviewProvider {
    static var previews: some View {
        NTextField()
    }
}
Run Code Online (Sandbox Code Playgroud)

我点击文件,WYSIWYG 预览无法加载

在此处输入图片说明

单击“诊断”时,我看到如下内容:

Error Domain=com.apple.dt.UITestingAgent Code=-1 "failed to load library at path "/Users/<my_app_name>/Library/Developer/Xcode/DerivedData/<my_app_name>/Build/Intermediates.noindex/Previews/<my_app_name>/Products/Debug-iphonesimulator/<my_custom_pod>/<my_custom_pod>.framework/<my_custom_pod>": Library not loaded: 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我删除了派生数据,清理和构建。

也在cocoapods git hub issue tracker 上找到了这个

Tie*_*eme 14

您可以尝试将其添加到您的 Podfile 中(按照JamesHurstcltnschlosserandersio的建议)

class Pod::Target::BuildSettings::AggregateTargetSettings
    alias_method :ld_runpath_search_paths_original, :ld_runpath_search_paths

    def ld_runpath_search_paths
        return ld_runpath_search_paths_original unless configuration_name == "Debug"
        return ld_runpath_search_paths_original + framework_search_paths
    end
end

class Pod::Target::BuildSettings::PodTargetSettings
    alias_method :ld_runpath_search_paths_original, :ld_runpath_search_paths

    def ld_runpath_search_paths
        return (ld_runpath_search_paths_original || []) + framework_search_paths
    end
end
Run Code Online (Sandbox Code Playgroud)

  • 这不会编译 ruby​​ 2.6.0 cocoapods 1.9.3 ``` NoMethodError - undefined method `+' for nil:NilClass ``` (3认同)
  • Pod::Target::BuildSettings::AggregateTargetSettings 类中的 ```return (ld_runpath_search_paths_original || []) + Framework_search_paths``` 修复了这个问题:) (3认同)