所以我一直在构建我的第一个应用程序,最近我更新到Xcode 12时,发生了多个问题...
我注意到不再有应用程序和场景委托文件,但我的项目仍在使用它。想知道如何清理而不将所有内容复制并粘贴到新项目中。
我也有多个警告说:
“ iOS模拟器部署目标'IPHONEOS_DEPLOYMENT_TARGET'设置为8.0,但是支持的部署目标版本范围是9.0至14.0.99。”
我目前的部署目标是iOS13。如果将其更改为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
}
}
}
任何帮助将不胜感激!
答案 0 :(得分:1)
在看不到您的代码的情况下,很难说出所见问题的确切原因是什么。但是,要回答您的一些问题:
AppDelegate
和SceneDelegate
。有关更多详细信息,请参见我的回答here 关于您的UI消失的原因,如果可以在日志输出中提供几个相关的代码片段和几行内容,将很有用。另外,请确保检查您的安全规则设置是否正确。