【发布时间】:2021-01-19 23:23:06
【问题描述】:
所以我一直在构建我的第一个应用程序,当我最近更新到 Xcode 12 时,出现了多个问题......
我注意到不再有应用程序和场景委托文件,但我的项目仍在使用它。想知道如何在不将所有内容复制并粘贴到新项目中的情况下清理它。
我也有多个警告说:
“iOS 模拟器部署目标 'IPHONEOS_DEPLOYMENT_TARGET' 设置为 8.0,但支持的部署目标版本范围是 9.0 到 14.0.99。”
我目前的部署目标是 iOS 13。如果我将其更改为 9,我的 URLIMAGE 模块会出现错误,因为它至少有 11 个。当我将其更改为 11 时,我有 999 多个错误...
我不知道该放什么!
我还与 URLImage 一起看到我的 firebase 无法正常工作,并且我的大部分 UI 都消失了。 我正在浏览一个 instagram 教程,而我的“主页”提要现在是空白的。我的故事提要文件仍然可以正常工作,但不确定它是否与 firebase 或 URLImage 有关?
我玩过这个视图,并在我的故事滚动视图下方添加了一个矩形,它已经出现了,所以我怀疑它与 firebase 有关。
当前代码:
import SwiftUI
import URLImage
import Firebase
struct HomeView: View {
@ObservedObject var homeViewModel = HomeViewModel()
var body: some View {
NavigationView {
ScrollView(.vertical, showsIndicators: false) {
Story()
Rectangle().frame(width: 200, height: 200).foregroundColor(.red)
if !homeViewModel.isLoading {
ForEach(self.homeViewModel.posts, id: \.postId) { post in
VStack(alignment: .center) {
HeaderCell(post: post)
FooterCell(post: post)
}.background(Color.white).cornerRadius(10)
.padding(.leading, 10).padding(.trailing, 10)
}
}
}
这是我的 HomeViewModel:
import Foundation
import SwiftUI
import Firebase
class HomeViewModel: ObservableObject {
@Published var posts: [Post] = []
@Published var isLoading = false
var listener: ListenerRegistration!
// init() {
// loadTimeline()
// }
func loadTimeline() {
self.posts = []
isLoading = true
Api.Post.loadTimeline(onSuccess: { (posts) in
self.isLoading = false
if self.posts.isEmpty {
self.posts = posts
}
}, newPost: { (post) in
if !self.posts.isEmpty {
self.posts.insert(post, at: 0)
}
}) { (listener) in
self.listener = listener
}
}
}
任何帮助将不胜感激!
【问题讨论】:
-
这被标记为 Firebase,但问题中没有 Firebase 代码或引用。尝试读取数据时,安全规则可能会阻止加载,甚至可能您未通过身份验证。但是,如果没有更多信息,很难说。