肝了一个月,这个基于 GPT 模型的背单词 App 终于发布 Beta 版本了。作为一个程序员,每次整出一个产品出来的时候总是异常兴奋,就像是孕育了 10 个月的宝宝马上就要出生了。
先打个广告,放个下载链接,欢迎尝鲜提反馈,我后面会为前 100 名参与 Beta 版测试的同学送上终身会员!
https://testflight.apple.com/join/8d8ei614
这个产品的灵感来自于我自己学英语背单词的需求。我使用了市面上的很多背单词的 App,包括百词斩、扇贝、墨墨背单词、这些用户量很大的,也包括一些相对小众或者个人开发者开发的,比如方块背单词,List 单词,词根词缀背单词等等。背完两本雅思词书之后发现还是有很多问题:
带着以上的这些问题和困惑,突然有一天,我得到一个灵感,即将背单词与读故事进行结合,这样我们就可以在实际的语境中反复的接触那些我们需要背的单词,毕竟看小说比干巴巴背单词有意思多了。相比传统背单词的方法,我觉得灵瓜背单词会有以下优点:
于是,一个月后的今天,「灵瓜背单词」闪亮登场!
作为一名程序员,最近这半年的开发已经对 ChatGPT 以及其他各种 AI 工具产生了严重的依赖,特别是最近这一个月。
上面的图片是这个 App 的 Icon,这是我用 Midjourney 制作的。
另外目前 App 内置的四个故事模版的 Cover 图片也都是用 Midjourney 生成的。值得一提的是,用 Midjourney 生成文章的头图、插图之类的,基本就是一次成型,成功率接近 100%。
对于 iOS 开发,我就是个接触才半年的门外汉,只会 SwiftUI。不过对于老油条程序员来说,虽然没有那么多时间研究底层的原理,但因为有了 AI 的加持,捣鼓出一些自己想要的东西还是挺容易的。我已经从「面向 StackOverflow 编程」成功跨越到了「面向 ChatGPT 编程」。
对于很多技术问题,ChatGPT 能够直接给出可以运行的代码,如果出错了,直接贴上错误日志,他还能帮你一起分析错误原因。
举个简单例子,我在最后收尾阶段想在「关于」页面底部显示 App 的版本号,然后:
我:在 iOS App 中如何获取并显示当前 App 的版本以及 Build 信息?
ChatGPT: 在 iOS 应用开发中,你可以通过访问应用的 Info.plist 文件来获取当前应用的版本号和构建号,然后将其显示在应用界面上。
以下是在 Swift 中获取并显示应用版本和构建信息的示例代码:
if let infoDict = Bundle.main.infoDictionary { // 获取应用版本号 if let appVersion = infoDict["CFBundleShortVersionString"] as? String { print("App Version: \(appVersion)") } // 获取应用构建号 if let buildNumber = infoDict["CFBundleVersion"] as? String { print("Build Number: \(buildNumber)") } }
你可以将上面的代码添加到应用程序的启动代码中,例如在 AppDelegate 的 didFinishLaunchingWithOptions 方法中。> 如果你想在应用界面中显示版本和构建信息,可以将这些值分别赋给文本标签或标签的文本属性。
例如,在一个 UIViewController 中,你可以使用以下代码将版本和构建信息显示在两个标签中:
if let infoDict = Bundle.main.infoDictionary { // 获取应用版本号 if let appVersion = infoDict["CFBundleShortVersionString"] as? String { versionLabel.text = "Version: \(appVersion)" } // 获取应用构建号 if let buildNumber = infoDict["CFBundleVersion"] as? String { buildLabel.text = "Build: \(buildNumber)" } }
请确保将 versionLabel 和 buildLabel 与您应用界面中的标签控件进行连接。
我: SwiftUI 中呢?
ChatGPT: 在 SwiftUI 中,你可以通过使用 Bundle 和 Text 视图来获取并显示应用程序的版本号和构建号。下面是获> 取并显示应用程序版本号和构建号的 SwiftUI 代码示例:
import SwiftUI struct ContentView: View { var body: some View { VStack { if let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String { Text("App Version: \(appVersion)") } if let buildNumber = Bundle.main.infoDictionary?["CFBundleVersion"] as? String { Text("Build Number: \(buildNumber)") } } } }
在上述示例中,我们首先检查 Bundle.main.infoDictionary 是否存在,然后分别从中获取应用程序的版本号和构建号。如> 果成功获取,则使用 Text 视图将它们显示在垂直堆栈中。
你可以将上面的代码复制到你的 SwiftUI 视图中,以便在你的应用程序中显示应用程序版本号和构建号。
你看,直接给我最终的代码,我只需要 Copy/Paste 即可。