Sto facendo un'applicazione di messing e quando invio un'emoji dal lato Android, mostra bene sul lato iOS, eppure iOS lato non può (sembra) visualizzare emoji dalla tastiera di iOS!Emoji non viene visualizzato in NSAttributedString quando viene digitato utilizzando la tastiera iOS, quando digitato su Android
L'etichetta in cui sto mostrando l'emoji utilizza testo attribuito e il testo proviene da HTML. Il codice seguente viene utilizzato per generare il NSAttributedString
var msg = getTextForDisplay()//Essentially gets the plain text
msg = "<span style=\"font-family: Helvetica; font-size:14pt;\">" + msg + "</span>"
if let data = msg.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false){
let attributed = try? NSAttributedString(data: data, options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType ], documentAttributes: nil)
return attributed
}
Anche estraneo, quando si invia l'emoji da iOS, anche se non mostra nell'etichetta come descritto sopra, esse indicano sul lato Android perfettamente soddisfacente. Sul lato iOS, nell'etichetta, mostra quello che sembra essere jibberish
esempio (chasracters unicode forse?):
Sono assolutamente sicuro che l'errore è con la visualizzazione del emoji, perché in fase di stampa per consolare, vedo le emoji reali e anche quando vengono salvate nella memoria del dispositivo e in seguito vengono lette su un Mac, è una vera emoji. Ma quando l'emoji è caricata nell'etichetta attribuita, mostra jibberish
Qualsiasi aiuto è apprezzato. Capisco che il problema riguardi la codifica Non sono sicuro di quale sia esattamente il problema e come risolverlo
Si prega di condividere la funzione 'getTextForDisplay' troppo C'è un sacco di cose. che può andare storto quando si converte in/da vari formati di testo, specialmente se si passa in giro usando JSON. – Ben
@Ben Restituisce letteralmente una stringa con pl un testo, ad es. "Ciao" –
Solo una stringa hardcoded o una stringa importata da qualche altra parte? – Ben