使用框架(_F)!只适用于一些豆荚或快速豆荚

本教程将介绍使用框架(_F)!只适用于一些豆荚或快速豆荚的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

使用框架(_F)!只适用于一些豆荚或快速豆荚 教程 第1张

问题描述

我的项目中同时有Objective CSwiftPod。

pod 'WBWebViewConsole', '~> 1.0.1' 
use_frameworks! 
pod 'XWebView', '~>0.9.5’ 
pod 'Starscream', '~> 1.1.3'

AS SWIFT Pod(,)只能作为我必须使用的框架添加

但这会使所有Pod作为框架,也包括Objective-C Pod()。

但这会导致Objective-C POD出现问题,但我不打算将Objective-C POD作为框架。

有什么什么方法可以忽略转换为框架的几个Pod?

谢谢。

更新:

问题与POD WBWebViewConsole有关

从Google驱动器加载html文档时,在任何连接Internet的iOS 8+设备中运行attached project。

在HTML文档…中单击常规/信息/警告/调试/错误日志

无论何时单击上述任何按钮…,您都会在HTML页面上显示一些文本。

该库用于捕获HTML页面…中生成的日志

每当您单击该按钮时,除了在html页面中显示一些文本外,我都会在后台写入一些日志。

现在单击按钮获取日志…并查看Xcode IDE…中的日志请问看到所有以html格式生成的控制台日志

Get Logs->是添加在WebView上的本机按钮..该库允许我们从wkwebview读取控制台日志
..

现在位于POD中
u取消对以下行的注释

use_frameworks!
pod 'PLCrashReporter'
pod 'XWebView', '~> 0.9.5’

并安装Pod

然后将以下代码粘贴到ViewController上

import WBWebViewConsole

这里是project,其中所有这些内容均未注释,并包含重现问题所需的所有更改

现在您在设备上运行项目并单击html页面中的一些按钮,然后单击您看不到在html页面中生成的评论

具体地说,在WBWKWebView中实现的委托方法不会被激发。

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
- (void)wb_evaluateJavaScript:(NSString *)javaScriptString completionHandler:(void (^)(NSString *, NSError *))completionHandler

但是在创建WBWKWebView的实例并加载URL时,此类的所有必要委托都将被激发。

以上委派应在写入日志时触发,同时单击HTML页面中的按钮

推荐答案

JSBridge初始化时,会在WebView中添加一些UserScript,源码是从上一版本的[NSBundle mainBundle]加载的。但如果它在框架中,则资源文件在框架包中,而不是mainBundle

因此修复位于WBWebViewConsoleDefines

替换此

inline static NSBundle * WBWebBrowserConsoleBundle()
{
return [NSBundle bundleWithPath:[NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] bundlePath], @"WBWebBrowserConsole.bundle"]];
}

inline static NSBundle * WBWebBrowserConsoleBundle()
{
return [NSBundle bundleWithPath:[NSString stringWithFormat:@"%@/%@", [NSBundle bundleForClass:[WBWebViewConsole class]], @"WBWebBrowserConsole.bundle"]]; 
}

实际上作者已经发布了新版本,也有补丁

pod‘WBWebViewConsole’,‘~>1.0.2’

    Pod安装

    重新启动Xcode并清除项目

    重新生成并运行

注意:这是不可能的。如果您使用_Frameworks!一切都变成了动态框架。

好了关于使用框架(_F)!只适用于一些豆荚或快速豆荚的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。