es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Compartir en TikTok [Video Kit] – Swift

Antecedentes:
Estoy trabajando en una aplicación de creación de videos animados. Una vez que un usuario genera su video, lo guardamos en su almacenamiento local. Ahora quiero proporcionar una nueva función de compartir ese video en TikTok.

Para agregar la función de compartir en TikTok, estoy siguiendo el SDK de TikTok.

Problema:
Según esta documentación, debo implementar la función que toma activos como parámetros. Tengo la URL del video que ha sido creado por el usuario. ¿Cómo convierto un video mp4 o una URL en activos?

Código:
Establecer la variable “localIdentifiers” como PHAsset.

var mediaLocalIdentifiers: [String] = []

for asset in self.selectedAssets {

    mediaLocalIdentifiers.append(asset)

}

request.localIdentifiers = mediaLocalIdentifiers

Enlace a esta función

Error:

TikTokOpenSDKErrorCodeUserCanceled | -2 | El usuario canceló el compartir en TikTok. TikTokOpenSDKShareRespStateParamValidError| 20002 | Error al analizar los parámetros.

Por favor, ayúdame a convertir la URL en activos o si alguien ha aplicado la función de compartir en TikTok, por favor, ayúdame.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en iOS, Swift, botón, compartir y TikTok, existen algunos pasos que se pueden tomar para resolver el problema descrito en la publicación. Por favor, sigue los siguientes pasos:

    1. Para convertir la URL o el video mp4 en activos, se puede utilizar la API PHAssetChangeRequest. Esta API se puede utilizar para crear, modificar y eliminar objetos PHAsset en la biblioteca de Fotos. Utilizando esta API, puedes crear un nuevo activo a partir de la URL o el video mp4.
    2. Puedes utilizar el siguiente código para convertir la URL o el video mp4 en un activo:

    func createAsset(from url: URL) {
    
        let changeRequest = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
    
        changeRequest?.placeholderForCreatedAsset // Obtén el activo de marcador de posición
    
        do {
            try PHPhotoLibrary.shared().performChangesAndWait {
                // Agrega el nuevo activo a la biblioteca de Fotos
                if let placeholder = changeRequest?.placeholderForCreatedAsset,
                   let assetId = placeholder.localIdentifier {
                    self.mediaLocalIdentifiers.append(assetId)
                }
    
            }
        } catch {
            print("Error: \(error.localizedDescription)")
        }
    }
    
    1. Una vez que hayas convertido la URL/video mp4 en un activo, utiliza la propiedad localIdentifiers del objeto PHAsset para establecer la propiedad localIdentifiers en el objeto request. Esto te permitirá compartir el video de TikTok exitosamente.

    ¡Espero que esto ayude!

Comments are closed.