Объект хранилища Firebase не найден swiftui Ma c OSX - PullRequest
0 голосов
/ 08 апреля 2020

Подведите итог проблемы: Добрый день всем,

Мне кажется, что я не понимаю storageref.downloadURL(). Я снова и снова пытался загрузить URL моих папок в хранилище Firebase, которые уже были загружены. Я разделил их следующим образом: song / songName, введенный пользователем / {song file.mp3, song photo.jpg}

Примечание: {} - элементы внутри второй папки .

Теперь, когда они уже загружены, я пытаюсь получить jpg изображений в КАЖДОЙ папке, чтобы я мог перечислить их в виде горизонтальной таблицы, чтобы пользователь мог прокручивать их и выбирать, какую песню они хотели бы слушать. По какой-то причине, когда я пытаюсь загрузить URL-адрес загрузки, я получаю сообщение «Песня объекта / название песни не существует».

Опишите, что вы пробовали:

Я попытался поставить storage.reference().child("songs"), storage.reference().child("songs/\(self.songName)") и, возможно, обновить функцию list all, чтобы она снова могла проходить через каждый файл. Но я застрял здесь, так как думаю, что, возможно, обработчик завершения, но я еще не слишком хорош в этом. Я также попытался запустить для l oop количество индексов, которое есть у results.prefixes, и обновить каждую папку как I go, чтобы загрузить каждый URL. Но, похоже, это тоже не работает.

Какой-то код:

func getAlbums() {
        let storage = Storage.storage()
        let FolderName = "\(NSUUID().uuidString)"
        let storageRef = storage.reference().child("BeatFiles")
        self.jpgOfSong.append(FolderName)
        let metadata = StorageMetadata()
        metadata.contentType = "image/jpeg"
        storageRef.listAll(completion: {(result,error) in
            if let error = error {
                print(error.localizedDescription)
            }
            else {
                self.FolderList = result.prefixes
                DispatchQueue.main.async {
                    for num in self.FolderList.indices {
                        //give songName the new name
                        //update the search



                        self.FolderList[num]?.downloadURL(completion: {
                    (url,error) in
                            if let error = error {
                                print(error.localizedDescription)
                            }
                            else {
                                self.imageref = NSImage(contentsOf: url!.absoluteURL)
                                self.imageArray.append(self.imageref!)
                        }
                        })
                    }
                }
            }
        })
    } 

Как вы можете видеть, я также пытался использовать метаданные, но это не Кажется, тоже не работает. Я в тупике.

...