Video Upload funktioniert nicht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Video Upload funktioniert nicht

    Hallo Leute

    da ich noch ziemlich neu bin was Xcode angeht bitte ich euch meine fehler mir zu verzeihen.
    ich habe ein Projekt von Udemy heruntergeladen "Instagram Klone"
    Eigentlich sollte es so funktionieren das ich Videos Posten kann. Bilder funktionieren aber Videos nicht.
    Von der Konsole kann ich , da ich noch neu bin , nicht viel heraus lesen. Hat vielleicht einer von euch eine Idee warum es nicht Funktioniert.

    Quellcode

    1. import UIKit
    2. import FirebaseStorage
    3. import FirebaseDatabase
    4. import FirebaseAuth
    5. import AVFoundation
    6. class ShareService {
    7. static var REF_STORAGE_POST = Storage.storage().reference().child("posts")
    8. static func uploadDataToStorage(imageData: Data, videoUrl: URL? = nil, postText: String, imageRatio: CGFloat, onSuccess: @escaping () -> Void ) {
    9. // 1. Video hochladen
    10. if let _videoUrl = videoUrl {
    11. self.uploadVideoToFireBaseStorage(videoUrl: _videoUrl, onSucces: { (videoUrlString) in
    12. self.uploadImageToFireBaseStorage(data: imageData, onSucces: { (thumbnailUrlString) in
    13. self.uploadDataToDatabase(imageUrl: thumbnailUrlString, videoUrl: videoUrlString, postText: postText, imageRatio: imageRatio, onSuccess: onSuccess)
    14. })
    15. })
    16. } else {
    17. // 2. Bild hochalden
    18. self.uploadImageToFireBaseStorage(data: imageData, onSucces: { (imageUrlString) in
    19. self.uploadDataToDatabase(imageUrl: imageUrlString, postText: postText, imageRatio: imageRatio, onSuccess: onSuccess)
    20. })
    21. }
    22. }
    23. // Video hochladen
    24. static func uploadVideoToFireBaseStorage(videoUrl: URL, onSucces: @escaping (_ videoUrl: String) -> Void) {
    25. let videoIdString = NSUUID().uuidString
    26. let storageRef = REF_STORAGE_POST.child(videoIdString)
    27. storageRef.putFile(from: videoUrl as URL, metadata: nil) { (metaData, error) in
    28. if error != nil {
    29. ProgressHUD.showError("Neinnnnnn")
    30. }
    31. storageRef.downloadURL(completion: { (url, error) in
    32. if error != nil {
    33. print(error!.localizedDescription)
    34. return
    35. }
    36. let videoUrlString = url?.absoluteString
    37. onSucces(videoUrlString ?? "Kein Video vorhanden")
    38. })
    39. }
    40. }
    41. // Bild hochladen
    42. static func uploadImageToFireBaseStorage(data: Data, onSucces: @escaping (_ imageUrl: String) -> Void) {
    43. let photoIdString = NSUUID().uuidString
    44. let storageRef = REF_STORAGE_POST.child(photoIdString)
    45. storageRef.putData(data, metadata: nil) { (metaData, error) in
    46. if error != nil {
    47. ProgressHUD.showError("Fehler beim hochladen des Bildes")
    48. }
    49. storageRef.downloadURL(completion: { (url, error) in
    50. if error != nil {
    51. print(error!.localizedDescription)
    52. return
    53. }
    54. let imageUrlString = url?.absoluteString
    55. onSucces(imageUrlString ?? "Kein Bild vorhanden")
    56. })
    57. }
    58. }
    59. static func uploadDataToDatabase(imageUrl: String, videoUrl: String? = nil, postText: String, imageRatio: CGFloat, onSuccess: @escaping () -> Void) {
    60. let newPostId = PostApi.shared.REF_POSTS.childByAutoId().key
    61. let newPostRef = PostApi.shared.REF_POSTS.child(newPostId!)
    62. let postTime = Date().timeIntervalSince1970
    63. print(postTime)
    64. // hashtag stuff
    65. var textArray = postText.components(separatedBy: CharacterSet.whitespaces)
    66. for var word in textArray {
    67. if word.hasPrefix("#") && word.count > 1 {
    68. word = word.trimmingCharacters(in: CharacterSet.punctuationCharacters)
    69. let newHashtagRef = HashtagApi.shared.REF_HASHTAG.child(word.lowercased())
    70. let dic = [newPostId : true]
    71. newHashtagRef.updateChildValues(dic)
    72. }
    73. }
    74. textArray.removeAll()
    75. guard let currentUserUid = UserApi.shared.CURRENT_USER_UID else { return }
    76. var dic = ["uid" : currentUserUid, "imageUrl" : imageUrl, "imageRatio" : imageRatio, "postText" : postText, "postTime" : postTime] as [String : Any]
    77. if let _videoUrl = videoUrl {
    78. dic["videoUrl"] = _videoUrl
    79. }
    80. newPostRef.setValue(dic) { (error, _) in
    81. if error != nil {
    82. ProgressHUD.showError(error?.localizedDescription)
    83. }
    84. // Eigene Posts im newsfeed laden und anzeigen
    85. FeedApi.shared.REF_NEWSFEED.child(currentUserUid).child(newPostId!).setValue(true)
    86. // Eigene Posts markieren
    87. PostApi.shared.REF_MY_POSTS.child(currentUserUid).child(newPostId!).setValue(true)
    88. // Posts in Echtzeit bei den Followern, des aktuell eingeloggten Users anzeigen + Reporting
    89. FollowApi.shared.REF_FOLLOWERS.child(currentUserUid).observeSingleEvent(of: .value, with: { (snapshot) in
    90. //print(snapshot)
    91. let followerArray = snapshot.children.allObjects as! [DataSnapshot]
    92. followerArray.forEach({ (child) in
    93. FeedApi.shared.REF_NEWSFEED.child(child.key).updateChildValues(["\(String(describing: newPostId))" : true])
    94. // Reporting
    95. let reportingId = ReportingApi.shared.REF_REPORTING.childByAutoId().key
    96. let reportingRef = ReportingApi.shared.REF_REPORTING.child(child.key).child(reportingId!)
    97. reportingRef.setValue(["id": reportingId!, "fromUserUid": currentUserUid, "type": "post","objectId": newPostId!, "time" : postTime])
    98. })
    99. })
    100. ProgressHUD.showSuccess("Post erstellt")
    101. onSuccess()
    102. }
    103. }
    104. }
    Alles anzeigen
    Dateien
  • Interessant dürfte rein die letzte Zeile sein: "Object post/xyz does not exist" dürfte ein inhaltliches Problem sein. Ich interpretiere einmal, dass Du zu einem Beitrag ein Video hochladen willst, den es nicht gibt (oder der nicht gefunden werden kann).

    Da hilft Dir wohl nur, den fremden Code durchzugehen und zu verstehen (ich lese mich da jetzt nicht ein). Hilfreich könnte es sein, diverse Log-Ausgaben einzufügen und in kleinen Schritten dem Programmablauf zu folgen...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Interessant dürfte rein die letzte Zeile sein: "Object post/xyz does not exist" dürfte ein inhaltliches Problem sein. Ich interpretiere einmal, dass Du zu einem Beitrag ein Video hochladen willst, den es nicht gibt (oder der nicht gefunden werden kann).

    Da hilft Dir wohl nur, den fremden Code durchzugehen und zu verstehen (ich lese mich da jetzt nicht ein). Hilfreich könnte es sein, diverse Log-Ausgaben einzufügen und in kleinen Schritten dem Programmablauf zu folgen...

    Mattes
    Hallo Mattes.
    Sorry das ich erst jetzt Antworte. Es ist so das egal ob ich es auf dem Iphone oder am Simulator laufen lasse Fehler Meldung ist gleich. ""Fehler beim hochladen des Videos"
  • poli78 schrieb:

    Es ist so das egal ob ich es auf dem Iphone oder am Simulator laufen lasse
    Das habe ich ja auch gar nicht bezweifelt. Wie gesagt vermute ich ein grundsätzliches Problem beim Identifizieren des betreffenden Beitrags ... rein aufgrund der Fehlermeldung.

    Da musst Du wohl in's Debugging (per Log-Ausgaben oder in der Konsole) einsteigen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.