如何处理XCFrameWork中的Swift Protobuf(静态库)依赖关系
我有一个名为 parentsdk 的SDK,它具有Swift Protobuf(静态库)和一些私人Frameworksdks。已经在我的 parentsdk 中添加了一个podfile。在我的podfile中添加所有框架安装可可POD CMD,包括Swift Protobuf。在我的 parentsdk 中成功编译并成功生成Xcframework。
然后在我的Xcodeapplication中使用我生成的 partersdk xcframework,然后尝试运行我的应用程序。
启动应用程序时,我发生了崩溃,因此无法运行我的应用程序。
崩溃日志
dyld[8182]: Symbol not found: _$s13SwiftProtobuf19_ProtoNameProvidingP17_protobuf_nameMapAA01_dH0VvgZTq
Referenced from: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspaceBuildGenerationPractise.app/Frameworks/<ParentSDK>.framework/<ParentSDK>
Expected in: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspaceBuildGenerationPractise.app/Frameworks/SwiftProtobuf.framework/SwiftProtobuf
Symbol not found: _$s13SwiftProtobuf19_ProtoNameProvidingP17_protobuf_nameMapAA01_dH0VvgZTq
Referenced from: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspacePractise.app/Frameworks/<ParentSDK>.framework/<ParentSDK>
Expected in: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspacePractise.app/Frameworks/SwiftProtobuf.framework/SwiftProtobuf
我阅读了一些文章,这与此问题有关,很多人说在您的SDK中添加Swift-Protobuf。如何在我的 parentsdk 中在本地使用它
I have a SDK called ParentSDK and it have some dependency are swift-protobuf(Static library) and some private frameworkSDKs. Already add a podFile in my ParentSDK. Add all framework installation cocoa pod cmd in my podFile include swiftprotobuf. Compile and successfully generate xcFramework in my ParentSDK.
Then use my generated ParentSDK xcFramework in my XCodeApplication and try to run my application.
I have a crash while application launch, so can't run my application.
Crash log
dyld[8182]: Symbol not found: _$s13SwiftProtobuf19_ProtoNameProvidingP17_protobuf_nameMapAA01_dH0VvgZTq
Referenced from: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspaceBuildGenerationPractise.app/Frameworks/<ParentSDK>.framework/<ParentSDK>
Expected in: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspaceBuildGenerationPractise.app/Frameworks/SwiftProtobuf.framework/SwiftProtobuf
Symbol not found: _$s13SwiftProtobuf19_ProtoNameProvidingP17_protobuf_nameMapAA01_dH0VvgZTq
Referenced from: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspacePractise.app/Frameworks/<ParentSDK>.framework/<ParentSDK>
Expected in: /Users/<Mac-Name>/Library/Developer/CoreSimulator/Devices/C1C95FC4-20C5-4C06-94D2-EFA435B83C04/data/Containers/Bundle/Application/97C2C91F-DDC8-49AE-8DE1-157C552B394D/XCWorkspacePractise.app/Frameworks/SwiftProtobuf.framework/SwiftProtobuf
I read some articles relate this issue, A lot of people says add swift-protobuf in your SDK locally. How to use this locally in my ParentSDK
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后,我发现了此错误的原因。仍在使用多个版本的Swift Protobuf。在使用版本1 中,一旦XCFrameWork成功生成,然后在我的项目中使用此编译的XCFrameWork,XCFrameWork需要一些依赖性,现在使用Swift Prototobuf,现在是ADD SWIFTPROTOBOBUF,然后使用此情况。 版本2 中的依赖性。这就是此错误的原因。因此,如果有人遇到此错误,请一旦验证您的依赖版本都相同。
Finally i found the reason of this error. Still am using multiple version of swiftProtobuf. Before am used this case in like compile my xcframework with swiftprotobuf in version 1, once the xcframework generates successfully, Then use this compiled xcframework in my project, the xcframework wants some dependency include swiftprotobuf, Now am add swiftProtobuf dependency in version 2. That is the reason of this error. So if anyone have this error, kindly once verify your dependency versions both are same.