问题标签 [kitura]

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 投票
1 回答
32 浏览

ios - Kitura 在嵌套结构中给了我模棱两可的表达类型

我开始使用 Kitura 框架将我当前的 node.js 后端迁移到 swift,并且我开始使用模拟数据实现所有路由。

无论如何,现在我处于非常早期的阶段,并开始开发一些模拟端点并部署在 IBM Cloud 上,没有任何问题,它们运行良好。工作端点的一个示例如下:

Mocks ()它是一个类,其中包含预定义所有字段的仪表板结构。这些字段是普通类型(字符串和数字)

当我开始开发更高级的端点时,工作流程是一样的,我用以下代码注册路由

这个模拟结构将具有嵌套的可编码结构,而不是具有普通类型的 Codable 结构:

当我在 localhost 中构建项目时,一切正常。当我在 Postman 中浏览这些端点时,它们会返回给我预期的响应。

当我尝试将其部署到 IBM Cloud 时出现问题(也在 Heroku 上尝试过同样的问题)。

它给我的问题如下

我不知道如何解决这个问题,Xcode 没有引发任何错误并且在本地编译项目没有任何问题,我尝试转换类型和所有可能的组合来生成结构,错误总是一样的。

有人遇到过同样的问题吗?这是 Kitura 的错误还是我错过了什么?在文档中他们没有说任何关于嵌套结构的事情,我发现唯一与嵌套结构有关的是 Kitura ORM 在使用 ORM 和 SQL 数据库时不支持嵌套结构,这不是我的情况。

如果我们能找到解决方案,我会很高兴

谢谢你的帮助

0 投票
0 回答
40 浏览

swift - 如何在使用项目模板生成的 Kitura 项目中设置日志记录级别?

我想设置我的 Kitura 项目的日志记录级别。项目是使用命令创建的,该kitura init命令使用模板生成项目。在模板中,有一个initializeLogging方法可以设置日志级别HeliumLogger

它似乎得到了一个名为"LOG_LEVEL". 经过进一步检查manager.load,我发现它可以访问ProcessInfo.processInfo.environment,我知道我可以在 Xcode 的“编辑方案”屏幕中设置:

在此处输入图像描述

但是,这仅在我使用 Xcode 运行应用程序时才有效。如果我使用swift build,则在控制台中运行可执行文件。日志记录级别回到“信息”。显然,在“编辑方案”中设置它不是我应该设置的方式......

设置日志记录级别的预期方法是什么?


我知道我可以删除所有内容并写入HeliumLogger.use(.verbose),但我想要一些后期绑定:)而且我觉得模板中的代码中的代码是有原因的......

0 投票
1 回答
207 浏览

swift - 在 Swift 5 中的循环内修剪字符串

我正在使用 Swift 5 进行服务器端开发(Kitura),并且由于模板引擎没有办法修剪长文本(想想博客文章的正文),我想知道如何直接在 Swift 中修剪它。其他问题以不同的方式解决它(只是一个不是来自循环的字符串)所以这是我的代码:

如何修剪 d.body 的值以将其修剪为前 50 个字符?

0 投票
1 回答
3226 浏览

swift - Xcode 使用 Swift 包给出“在范围内找不到类型 'TYPE'”错误

多年来,我一直在使用服务器端 Swift 进行服务器端开发,并使用 Xcode 作为方便的编辑工具。现在 Xcode 已经支持 Swift 包,情况总体上有所改善。我没有针对任何传统的 Apple 硬件,所以这可能是我的问题的根源,但鉴于这个问题最近才开始出现,我正在报告它以防其他人也遇到它。

使用我的一个包: http: //github.com/SyncServerII/ServerDropboxAccount.git 我不能再用 Xcode 构建它。

我的意图主要是编辑和消除语法错误——即,我使用 Xcode 作为编辑器。在某些情况下,使用这些服务器端包,我可以在 Xcode 中运行单元测试。在某些情况下,我必须在我的 Ubuntu 目标平台上运行测试。

就在过去的几天里,我不能再在 Xcode 中构建这个特定的包,也不能在 Mac OS 的命令行中构建。

我收到这样的错误:

swift build当我在 Mac OS 的命令行中使用时,我得到了同样的错误。但是,当我swift build在 Ubuntu 上使用时,我没有收到任何错误 - 包构建得很干净。

在 Mac 操作系统上:

在 Ubuntu 上:

这可能是一个边缘用例,但在我完全放弃使用 Xcode 之前,我想了解为什么会发生这种情况。想法受到赞赏。谢谢!

我在这个问题中包含了一个标签,Kitura因为我的服务器是基于 Kitura 的。而且因为 Kitura 最近经历了一些转变,从 IBM 转移到社区支持。

0 投票
3 回答
123 浏览

ios - SwiftJWT 在 JWT.init() 调用上使 iOS 应用程序崩溃

以下代码仅在从 AppStore 分发的可执行文件中执行时才会在 iPad mini 2 / 3 上崩溃。

通过 XCode 安装时,该代码在每台设备上都能正常工作。从 App Store 安装时,该应用程序也适用于“普通”(非迷你)iPad。

你将如何继续分析这个问题?您甚至可能有可用的修复程序吗?

在下面找到崩溃日志的相关部分:

0 投票
1 回答
153 浏览

ios - 使用 BlueSocket 框架通过 TCP 发送的不完整图像

我一直在尝试使用Kitura BlueSocket通过 TCP 发送图像。

每次我尝试从 Data 对象解码图像时,我都会得到

警告![0x7fb6f205e400] 解码不完整,错误代码为 -1。如果图像尚未完全下载,这是预期的。

事实上,图像通常是半载的。这是我用于下载数据对象的代码:

这就是我解码图像的方式:

并且此代码在 View Controller 中使用,如下所示:

我不知道为什么图像没有完全下载。