¿Problemas con las estructuras en Swift y hacer un UIImage a partir de la URL?

skyguy

Muy bien, no estoy familiarizado con las estructuras o la prueba con la que estoy lidiando en Swift, pero lo que tengo que hacer es crear un iMessage en la extensión de mi aplicación iMessage con una etiqueta, lo que significa que la parte de la imagen del iMessage está configurada en el pegatina.

He estudiado detenidamente los documentos de Apple y https://www.captechconsulting.com/blogs/ios-10-imessages-sdk-creating-an-imessages-extension pero no entiendo cómo hacer esto o realmente cómo funcionan las estructuras. Leí sobre estructuras pero eso no me ha ayudado a lograr lo que hace Apple en su código de muestra (descargable en Apple)

Lo que hace Apple es que primero redactan un mensaje, lo que entendí, tomando su estructura como una propiedad, pero yo tomo una pegatina en su lugar.

guard let conversation = activeConversation else { fatalError("Expected a conversation") }
        //Create a new message with the same session as any currently selected message.
        let message = composeMessage(with: MSSticker, caption: "sup", session: conversation.selectedMessage?.session)

        // Add the message to the conversation.
        conversation.insert(message) { error in
            if let error = error {
                print(error)
            }
        }

Luego hacen esto (esto es directamente del código de muestra) para redactar el mensaje:

   fileprivate func composeMessage(with iceCream: IceCream, caption: String, session: MSSession? = nil) -> MSMessage {
        var components = URLComponents()
        components.queryItems = iceCream.queryItems

        let layout = MSMessageTemplateLayout()
        layout.image = iceCream.renderSticker(opaque: true)
        layout.caption = caption

        let message = MSMessage(session: session ?? MSSession())
        message.url = components.url!
        message.layout = layout

        return message
    }
}

Básicamente, esta línea es con lo que estoy teniendo el problema, ya que necesito configurar mi etiqueta como la imagen:

layout.image = iceCream.renderSticker(opaque: true)

Apple hace una función completamente complicada que no entiendo renderStickerpara sacar la parte de la imagen de sus pegatinas, y lo he intentado, pero creo que esto es mejor:

let img = UIImage(contentsOfURL: square.imageFileURL)
        layout.image = ing

layout.image necesita un UIImage, y puedo obtener el imageFileURL de la pegatina, simplemente no puedo poner esto en un UIImage. Recibo un error que no coincide con las sobrecargas disponibles.

¿Qué puedo hacer aquí? ¿Cómo puedo insertar la imagen de mi pegatina en un mensaje? ¿Cómo puedo obtener una imagen de su imageFileURL?

rmaddy

No hay init(contentsOfURL:)inicializador para UIImage. El más cercano es init(contentsOfFile:).

Para usar ese con la URL de su archivo, puede hacer lo siguiente:

let img = UIImage(contentsOfFile: square.imageFileURL.path)

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Problemas con las estructuras anidadas y la asignación de memoria dinámica

Usar titiritero para hacer una captura de pantalla en la página y usar ffmpeg para generar un video a partir de las imágenes de la captura de pantalla. ¿Cómo hacer videos sin problemas?

Problemas con un puntero a una matriz de estructuras en C ++

Problemas con la impresión de estructuras en C

Problemas con la impresión de estructuras en C

Utilice un conjunto de estructuras y evite las estructuras duplicadas en un conjunto

Problemas con la representación de uiview en uiimage

Problemas con las variables de PHP en la URL de una función de JavaScript

Problemas con las asignaciones de caracteres y cadenas en C (¿entero del puntero sin un molde?)

Extrayendo la matriz de NetCDF y convirtiéndola en ráster - problemas con las filas - R

Problemas con la dirección IP y las restricciones de dominio en IIS 10

¿Cómo lidiar con las relaciones con estructuras en Swift?

¿Puedo producir dos sumas a partir de la comprensión de un solo diccionario de Python basado en hacer coincidir las claves con dos listas de claves mutuamente excluyentes?

¿Puedo producir dos sumas a partir de la comprensión de un solo diccionario de Python basado en hacer coincidir las claves con dos listas de claves mutuamente excluyentes?

Filtrar la matriz para todas las estructuras con un nombre específico y eliminarlas

problemas de privacidad con la cámara y la biblioteca de fotos en Swift

Despacho dinámico / en tiempo de ejecución en Swift, o "la extraña forma en que se comportan las estructuras en la opinión de un hombre"

Problemas con la reproducción de .wav en un archivo jar creado a partir de Intellij IDEA

Problemas con la reproducción de .wav en un archivo jar creado a partir de Intellij IDEA

Regex para hacer coincidir correctamente las URL con un dominio en particular y también si hay un subdominio agregado

Cree un diccionario a partir de una estructura anidada (con matrices de otras estructuras) Swift

Haciendo un constructor rápido que se basa en la red (haciendo UIImage a partir de url)

Herencia de protocolos y estructuras en swift

Swift: problemas con la configuración de la imagen de fondo en un UIScrollView

cómo hacer un bucle de la URL en las opciones en nodejs

Cómo hacer que la URL de carga de almacenamiento en la nube de Google funcione solo una vez con HTTP PUT y caduque en un tiempo determinado

¿Qué queremos decir realmente con objetos similares, las tablas tienen un ESTADO y las tablas son objetos en más de un sentido de programación en OOP y estructuras de datos?

En ASP.NET MVC, ¿cómo puedo hacer coincidir las URL con una ruta si un segmento de URL contiene guiones literales y una de las restricciones de parámetro permite guiones?

Cómo solucionar problemas con la entrada de edición y la nueva entrada reflejando cambios en las entradas