Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 与Django和Firebase(授权、数据库等)进行Swift联网_Ios_Swift_Django_Firebase - Fatal编程技术网

Ios 与Django和Firebase(授权、数据库等)进行Swift联网

Ios 与Django和Firebase(授权、数据库等)进行Swift联网,ios,swift,django,firebase,Ios,Swift,Django,Firebase,我一直通过以下各种教程学习Swift,并注意到他们几乎都使用Firebase作为授权/数据库。我更愿意避免将我的后端控制权交给谷歌,我最近为一个基本的聊天应用程序做了一个教程,该程序使用Firebase注册和登录用户。Firebase过去在Xcode 11中工作,但现在在升级到Xcode 12后坏得很厉害,所以我也更愿意避免扩展 运行Django后端似乎是一个推荐的解决方案,因为我的目的是创建一个可以由iOS应用程序更新的web应用程序,反之亦然(类似于我可以下载reddit应用程序、发布帖子、

我一直通过以下各种教程学习Swift,并注意到他们几乎都使用Firebase作为授权/数据库。我更愿意避免将我的后端控制权交给谷歌,我最近为一个基本的聊天应用程序做了一个教程,该程序使用Firebase注册和登录用户。Firebase过去在Xcode 11中工作,但现在在升级到Xcode 12后坏得很厉害,所以我也更愿意避免扩展

运行Django后端似乎是一个推荐的解决方案,因为我的目的是创建一个可以由iOS应用程序更新的web应用程序,反之亦然(类似于我可以下载reddit应用程序、发布帖子、转到reddit本身并查看帖子,还可以创建一个可以在应用程序上看到的帖子,甚至像聊天应用程序一样——概念更重要)。这是我可以用Swift/Xcode“开箱即用”做的事情,还是我需要一个扩展(我听说Alamofire很好,但我还是害怕当我更新某些东西时超出我控制的扩展会被破坏,但我并不完全反对)

看起来,通过Firebase,google提供了一个plist,您可以将它带到项目中,其中似乎有数据库URL和API键

假设我认识一个安装了Django后端的人,并且我想制作一个基本的聊天应用程序,我需要从他们那里得到什么才能连接到数据库,并在不使用Firebase的情况下执行与Firebase类似的功能

例如,firebase中的注册代码如下所示:

FirebaseAuth.Auth.auth().createUser(withEmail: email, password: password, completion: { authResult, error in

   guard let result = authResult, error == nil else {

       print("Error"

       return

   }

   let user = result.user

   print("created user: (user)")

})
类似地,登录代码是

FirebaseAuth.Auth.auth().signIn(withEmail: email, password: password, completion: { authResult, error in

   guard let result = authResult, error == nil else {

       print("Failed to Log In User"

       return

   }

   let user = result.user

   print("logged in user: (user)")

})

除了“createUser”和“signIn”之外,这两段代码似乎都是相同的,但这段代码中有多少来自Firebase,有多少可以与Xcode中内置的代码交换

另外,看这些教程,似乎大多数数据库url都只是标准的网站url。如何防止人们访问url并查看所有信息?我想这就是API键的作用所在

非常感谢您的建议,因为我仍然不知道我不知道的是什么,并且已经尽我所能总结了我目前的理解