如何用源文件替换 iOS 框架
how to replace iOS framework with its source files
我是 iOS 的新手,我正在尝试修改一个开源项目 UI,其中大部分都包含在框架(或捆绑文件)中。我已经让开发者提供了源文件,现在我必须用原始文件替换框架。我该怎么做?我尝试手动删除框架并通过拖放和“创建组”替换它,然后我像这样更改了包含:
#include <framework/framework.h>
到
#include "framework.h"
它没有正常工作,它没有给出任何编译错误,但每次我遇到这样的运行时错误并且应用程序在开始时崩溃:
2021-05-05 12:29:37.640957+0300 MesiboMessenger[787:193737] *** Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore/UIKit-3698.140/UIApplication.m:3861
2021-05-05 12:29:37.641597+0300 MesiboMessenger[787:193737] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'
*** First throw call stack:
(0x2089eb180 0x207bc39f8 0x20890488c 0x2093c8b38 0x2351d8438 0x234a9b2a4 0x234aa383c 0x234a9af28 0x234a9b818 0x234a99b64 0x234a9982c 0x234a9e36c 0x234a9f150 0x234a9e224 0x234aa2f24 0x2351d65e8 0x234dd2e04 0x20b3679fc 0x20b37140c 0x20b370c14 0x101190c78 0x101194840 0x20b3a2040 0x20b3a1cdc 0x20b3a2294 0x20897cf1c 0x20897ce9c 0x20897c784 0x2089776c0 0x208976fb4 0x20ab7879c 0x2351d9c38 0x100331f3c 0x20843a8e0)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
我做错了什么?或者我应该怎么做?
无法用源代码替换框架,否则它无法正常工作。相反,您可以更改框架构建位置以匹配项目中的框架文件。所以当你构建框架时它会自动改变。
我是 iOS 的新手,我正在尝试修改一个开源项目 UI,其中大部分都包含在框架(或捆绑文件)中。我已经让开发者提供了源文件,现在我必须用原始文件替换框架。我该怎么做?我尝试手动删除框架并通过拖放和“创建组”替换它,然后我像这样更改了包含:
#include <framework/framework.h>
到
#include "framework.h"
它没有正常工作,它没有给出任何编译错误,但每次我遇到这样的运行时错误并且应用程序在开始时崩溃:
2021-05-05 12:29:37.640957+0300 MesiboMessenger[787:193737] *** Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore/UIKit-3698.140/UIApplication.m:3861
2021-05-05 12:29:37.641597+0300 MesiboMessenger[787:193737] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'
*** First throw call stack:
(0x2089eb180 0x207bc39f8 0x20890488c 0x2093c8b38 0x2351d8438 0x234a9b2a4 0x234aa383c 0x234a9af28 0x234a9b818 0x234a99b64 0x234a9982c 0x234a9e36c 0x234a9f150 0x234a9e224 0x234aa2f24 0x2351d65e8 0x234dd2e04 0x20b3679fc 0x20b37140c 0x20b370c14 0x101190c78 0x101194840 0x20b3a2040 0x20b3a1cdc 0x20b3a2294 0x20897cf1c 0x20897ce9c 0x20897c784 0x2089776c0 0x208976fb4 0x20ab7879c 0x2351d9c38 0x100331f3c 0x20843a8e0)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
我做错了什么?或者我应该怎么做?
无法用源代码替换框架,否则它无法正常工作。相反,您可以更改框架构建位置以匹配项目中的框架文件。所以当你构建框架时它会自动改变。