inf*_*ng7 9 xcode ios carthage xcframework xcode12.5
在 Xcode 12.4 之前,我们使用此解决方法来获取项目的框架,并且这些框架采用捆绑包的形式(黄色公文包图标)。另外,我需要Carthage Copy File为每个目标手动雕刻一个脚本(在构建阶段下),这很烦人且容易出错。
几天前,我读了 Carthage 官方文档,它建议使用xcframework. 从这些步骤来看,似乎copy file不再需要这个烦人的步骤,我决定尝试一下。
我完全按照迁移步骤进行。我还更改了框架搜索路径,使其指向从$(PROJECT_DIR)/YOUR_PROJECT/Carthage/Build/iOS到$(PROJECT_DIR)/YOUR_PROJECT/Carthage/Build。该应用程序刚刚在模拟器中运行,但现在还为时过早,每当我尝试在 iPhone 中运行它时,它就会崩溃。在调试器控制台中它抱怨
dyld: Library not loaded: @rpath/Auth0.framework/Auth0
Referenced from: /private/var/containers/Bundle/Application/9575D8AA-BD35-447B-ACC3-F8545CDB62EE/FIT dev.app/FIT dev
Reason: image not found
dyld: launch, loading dependent libraries
DYLD_LIBRARY_PATH=/usr/lib/system/introspection
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
Run Code Online (Sandbox Code Playgroud)
最后,我看到了两年前的这篇Medium 帖子embed & sign,其中建议了拖放到项目中的框架。我对我的项目做了同样的事情,将Embed一些框架的状态从更改为Do not embed到Embed & Sign(从选项卡General/Frameworks, Libraries and Embedded Content)。
答对了!该项目在模拟器和真机上都运行,UI测试也像以前一样运行。
Carthage官方文档中的迁移步骤根本没有提到这一步。另外,我找不到任何解决类似问题的帖子。所以我只是想分享我的迁移步骤,希望这对其他人有帮助
/Frameworks文件导航器中的组下,这样您就可以一次性将 xcframeworks 链接到所有目标)设置embed新添加的 xcframeworks 的状态,请参阅下面的快照,其中我将框架分为三组
Embed and SignEmbed and SignDo not embed| 归档时间: |
|
| 查看次数: |
1754 次 |
| 最近记录: |