问题标签 [mknetworkkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
346 浏览

ios - MKNetworkKit - 主机名和 apiPath 参数

我正在考虑使用 MKNetworkKit 作为 iOS 应用程序网络操作的基础。我对使用 initWithHostName:customerHeaders: 和 initWithHostName: apiPath:customerHeaders: 方法有点困惑。

在应用程序中,我需要与许多主机通信,它们有不同的方式来指定主机名和 URL。例如:

HostNameX.com - HostX 的域名,

第一个主机将服务附加到主机名,如下所示:

serviceA.HostNameX.com?someparam=value ServiceA 的路径(返回信息) serviceB.HostNameX.com?someparam=value ServiceB 的路径(返回信息)


HostNameY.com - HostY 的域名

第二台主机将服务或命令附加到主机名,如下所示:

HostNameY.com/serviceA?someparam =value ServiceA 的路径(返回信息) HostNameY.com/serviceB?someparam =value ServiceB 的路径(返回信息)


对于 HostNameY.com 案例,我正在考虑创建一个 MKEngine 实例,然后将“serviceA?someparam=value”或“serviceB?someparam=value”字符串作为 Path 参数传递给 operationWithPath:params:httpMethod:ssl:方法。

这对于我想做的事情很有效,但是对于 HostNameX.com,我不确定如何添加“serviceA”。或“服务 B”。到主机名?我能看到的唯一方法是创建两个单独的 MKEngine 实例,一个用于“serviceA”,一个用于“serviceB”。是这样吗?

我是否遗漏了什么,或者有没有办法在调用 initWithHostName:apiPath:customerHeaders: 之后将服务添加到域名?

在此先感谢您的任何建议。最好的戴夫

0 投票
1 回答
1248 浏览

ios - iOS:遇到错误 kCFURLErrorUserCancelledAuthentication -1012?

在 iOS 应用程序中需要签署证书请求,该请求之前已获得。当我尝试运行查询时捕获此错误:

kCFURLErrorUserCancelledAuthentication -1012。

文档说:

kCFURLErrorUserCancelledAuthentication 连接失败,因为用户取消了所需的身份验证。

实现如下:

我究竟做错了什么?

附言

已提前收到尝试签署请求的证书。在浏览器中单独测试,没问题。

一个应用程序对同一服务器的请求通常是相同的方案。

0 投票
1 回答
764 浏览

ios - 何时使用 dispatch_get_main_queue

我在 iOS 中学到了一条全局规则 -> 永远不要阻塞主线程。但是,有几次我遇到了违反此规则的开源代码片段。

两个这样的例子如下:

以下函数取自 https://github.com/piwik/piwik-sdk-ios/blob/master/PiwikTracker/PiwikTracker.m

在上面的代码中,我一直试图理解为什么计时器对象需要主线程。像这样的事情与 UI 无关,仍然在主线程上完成。

另一个例子是著名的网络库 MKNetworkKit。以下代码在 NSOperation 的 start 方法中。 https://github.com/MugunthKumar/MKNetworkKit/blob/master/MKNetworkKit/MKNetworkOperation.m

所以我的问题是为什么人们使用主线程来执行不与 UI 相关的操作,它有什么好处。如果您不坚持它,它可能不会冻结您的应用程序,但为什么要冒险。

0 投票
1 回答
75 浏览

ios - EXC_BAD_ACCESS 与 MKNetworkEngine

我正在使用MKNetworkkit将 XML 数据解析到服务器。在进入成功块之前,它会EXC_BAD_ACCESS无缘无故地崩溃,并且已经NSZombieEnabled像所有的东西一样完成了。![下面是它崩溃的屏幕截图。][1][1]:http://i .stack.imgur.com/FL3l9.png

0 投票
1 回答
77 浏览

ios - 使用 AFNetworking 2.0 实现 MKNetworkKit 的缓存样式

正如文档所说,很久以前流行的新网络库 - MKNetworkKit 具有有趣且有用的缓存样式:

MKNetworkKit 可以自动缓存你所有的“GET”请求。当您再次发出相同的请求时,MKNetworkKit 几乎立即使用缓存版本的响应(如果可用)调用您的完成处理程序。它还会再次调用远程服务器。获取服务器数据后,将使用新的响应数据再次调用您的完成处理程序。

我想知道是否可以使用“开箱即用”的 AFNetworking 2.0 来实现这种行为。来自 NSURLSession 的现有缓存策略似乎不是我需要的。它们都可以返回缓存的响应或从 web 加载数据,而没有两种变体的组合。

我正在使用 AFHTTPSessionManager 的子类来执行网络调用。

0 投票
0 回答
35 浏览

ios - 如何在使用 MKNetworking 弹出视图时取消 GET 请求,我不希望它冻结并稍后恢复

0 投票
0 回答
422 浏览

ios - NSJSONSerialization JSONObjectWithData 上的内存泄漏

我已经搜索过这个问题,但没有得到任何适当的解决方案。在我的应用程序中,我对服务器进行了多次递归异步调用。我正在使用 MKNetworkKit 执行网络操作。我的实现的伪代码:

但是,在执行上述代码时,在完成块中的每次调用后,内存使用量会增加 4-10 MB(我认为在线字典对象 = op.responseJSON)。

使用仪器后,在 MKNetworkKit 函数中的 NSJSONSerialization JSONObjectWithData 行显示内存泄漏

请参阅显示内存泄漏的仪器屏幕截图

以下是我编写的实际代码:

为 self 添加了弱引用,还使用了autorelease 块,但这并没有解决我的问题

我能做些什么来消除内存泄漏,或者在进行递归异步调用时我做错了什么?

谢谢!

0 投票
0 回答
80 浏览

ios - 使用 MKNetworkKit 解析 JSON 数据

任何人都可以举一个例子,使用 MKNetworkKit 在目标 c 中使用 POST 方法和 ASynchronous 请求来解析来自服务器的 JSON 数据?

我已经通过使用NSMutableRequest并使用参数作为用户名和密码来完成它,我想探索使用第三方工具的选项。

0 投票
2 回答
1195 浏览

xcode - 设置 Allow Arbitrary Loads 后,我的 http 请求仍然收到错误消息 Transport Security has blocked a cleartext

我将“允许任意加载”选项设置为“是”,允许所有 http 请求。但是当我运行应用程序时,它仍然收到错误消息“传输安全已阻止明文 HTTP (http://) 资源加载,因为它不安全。临时异常可以通过您应用的 Info.plist 文件进行配置。” 确实知道,不推荐。。。

在此处输入图像描述