좋아요, 구조체 또는 Swift에서 다루는 시련에 익숙하지 않습니다.하지만 필요한 것은 iMessage의 이미지 부분을 의미하는 스티커가 포함 된 내 iMessage 앱 확장에 iMessage를 만드는 것입니다. 스티커에.Swift에서 구조체에 문제가 있고 URL에서 UIImage를 만드는 중입니까?
나는 애플의 문서와 https://www.captechconsulting.com/blogs/ios-10-imessages-sdk-creating-an-imessages-extension을 훑어 보았지만 어떻게하는지 또는 실제로 어떻게 구조체가 작동하는지 이해하지 못한다. 구조체를 읽었지만 Apple이 샘플 코드에서 수행하는 작업 (Apple에서 다운로드 가능)을 수행하는 데 도움이되지 못했습니다.
Apple은 처음에는 구조체를 속성으로 사용하여 이해하는 메시지를 작성합니다. 나는 메시지를 작성하는 대신
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)
}
}
그들은 다음이 (이 샘플 코드에서 직접입니다) 할 스티커를 수행하십시오
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
}
}
기본적으로이 라인은 임 내가 설정해야합니다으로 함께 문제가 무엇인가 내 스티커 이미지로 :
layout.image = iceCream.renderSticker(opaque: true)
애플은 내가 그들의 스티커에서 이미지 부분을 끌어 renderSticker
에 이해가 안 전체 복잡한 기능의 일을, 내가 그들의 방법을 시도했지만 난이 더 좋은 생각 :
let img = UIImage(contentsOfURL: square.imageFileURL)
layout.image = ing
layout.image에는 UIImage가 필요하며이 스티커에서 imageFileURL을 얻을 수 있습니다. UIImage로 가져올 수 없습니다. 사용 가능한 과부하와 일치하지 않는 오류가 발생합니다.
여기서 어떻게 할 수 있습니까? 내 스티커의 이미지를 메시지에 어떻게 삽입 할 수 있습니까? 해당 imageFileURL에서 이미지를 가져올 수 있습니까?
질문의 끝 부분에'UIImage' 이니셜 라이저에 관한 질문이있는 경우 왜 그와 관련없는 다른 정보를 모두 게시 했습니까? 귀하의 질문에 초점을 맞추십시오. – rmaddy
미안하지만, iMessage와 관련이 있고 구조체가 필요하다고 생각했습니다. – skyguy