[iOS/Swift]์นด์นด์คํก ๊ณต์ ํ๊ธฐ ๊ตฌํ 1.์ด๋ฏธ์ง URL ์ค์ + FileManager์ UIImage ์ ์ฅ
์ฐ๋ฆฌ ์๋น์ค roome๋ ๋ฐฉํ์ถ ํ๋กํ์ ์์ฑํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ๋๋ฌธ์ ์ด ํ๋กํ์ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๊ณต์ ํ๋ ๊ฒ์ด ํ์์๋ค. ๋ค์ด๋ฒ, ์ธ์คํ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ๋งค์ฒด๋ฅผ ๊ณ ๋ฏผํ๋๋ฐ ํ๋กํ
mintraum.tistory.com
์ด์ ๊ธ์ ์ด์ด์ ๊ณต์ ํ๊ธฐ ํ ํ๋ฆฟ์ ๋ํด์๋ ๊ณ ๋ฏผ์ด ์์๋ค. ์ฐ๋ฆฌ ํ์ ๋ณด๋ธ ์ด์ ๋ฐ๋ ์ด๊ฐ ๋ค๋ฅด๊ฒ ๋ณด์ด๊ธธ ์ํ๋ค.
์ ํํ๋ "ํ์ธํ๋ฌ ๊ฐ๊ธฐ" ๋ฒํผ์ด ๊ตณ์ด ๋ณธ์ธ์๊ฒ ๋ณด์ผ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. ๋๋ฌธ์ ์ ์ฌ์ง์ฒ๋ผ ๋ฐ๋ ์ด๋ "ํ์ธํ๋ฌ ๊ฐ๊ธฐ" ๋ฒํผ์ด ๋ณด์ด์ง๋ง, ๋ณด๋ด๋ ์ด๋ ๋ฒํผ์ด ๋ณด์ด์ง ์๋๋ค.
๊ธฐ์กด ์นด์นด์คํก ๊ณต์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ ๋๋ ์ฝ๋๋ก Feed ํ ํ๋ฆฟ์ ๋ง๋ค์ด ์ฌ์ฉํ๋๋ฐ (https://developers.kakao.com/docs/latest/ko/message/ios-link#create-message) ์ด ๊ฒฝ์ฐ์๋ ์ฐ๋ฆฌ๊ฐ ์ํ ๊ฒ์ฒ๋ผ ๋ณด๋ธ ์ด์ ๋ฐ๋ ์ด์ ์ฐจ์ด์ ์ ์ค ์๊ฐ ์์๋ค. ๋๋ฌธ์ ์นด์นด์ค ๋๋ฒจ๋กํผ์ค ํ์ด์ง์ ๋ฉ์ธ์ง ํ ํ๋ฆฟ์ ์ฌ์ฉํ๋ค.
์นด์นด์ค ๋๋ฒจ๋กํผ์ค > ๋ด ์ ํ๋ฆฌ์ผ์ด์ > ์ฑ ์ค์ > ๋ฉ์ธ์ง > ๋ฉ์ธ์ง ํ ํ๋ฆฟ
์ด๋ ๊ฒ ๋ค์ด๊ฐ์ ๋ง๋ค๋ค ๋ณด๋ฉด ๋ฒํผ ๋ ธ์ถ ๋์์์ ์ค์ ํด ์ค ์ ์๋ค.
์ด์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ค์ ํด ์ฃผ์ด์ผ ํ๋ค. ์ด ๋ถ๋ถ์ ์๋๋ก์ด๋ ํํธ์ ๊ฐ์ด ์์ํ์ฌ ์ ํ๋ ๊ฒ์ด ์ข๋ค. ์๋๋ก์ด๋ ์ฌ์ฉ์๊ฐ ์์ดํฐ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ ์๋ ์๊ณ ์์ดํฐ ์ฌ์ฉ์๊ฐ ์๋๋ก์ด๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ ๊ฒ ์ ํด์ง ์ฐ๋ฆฌ ์ฑ์ ํ๋ผ๋ฏธํฐ ๊ฐ!
TYPE
- Value ๊ฐ์ด ์ฌ์ฉ๋๋ ์ฅ์
- ์ถํ์ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ๊ณต์ ํ๊ฒ ๋ ์๋ ์์ด์ ์ค์ ํด ๋์ ๊ฐ์ผ๋ก ํ์ฌ๋ "profile"๋ง ์กด์ฌํ๋ค.
VALUE
- Type ๋ณ๋ก ํ์ํ ๊ฐ.
- ํ์ฌ ๋๋ค์์ผ๋ก ์๋ฒ์์ ๊ณต์ ํ๋กํ์ ์กฐํํ๊ณ ์๊ธฐ์ ๋๋ค์์ ์ ๋ฌํ๋ค.
PROFILE_IMAGE
- ํ๋กํ ์ด๋ฏธ์ง ๋งํฌ
NICK
- ํ์ดํ์ ๋ค์ด๊ฐ ๋๋ค์
Type๊ณผ Value๋ openURL์์ ์๋ก์ด ํ์ด์ง๋ฅผ ๋์ธ ๋ ์ฌ์ฉํ์ง๋ง Profile_image, Nick์ ํ ํ๋ฆฟ์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
private func useCustomTemplate(imageURL: URL?) {
if ShareApi.isKakaoTalkSharingAvailable() {
guard let name = UserContainer.shared.user?.data.nickname else {
return
}
// ์นด์นด์คํก์ผ๋ก ์นด์นด์คํก ๊ณต์ ๊ฐ๋ฅ
ShareApi.shared.shareCustom(templateId: (๋ด ๋ฉ์ธ์ง ํฌํ๋ฆฟ ์์ด๋), templateArgs:["TYPE": "profile","VALUE":name, "PROFILE_IMAGE": imageURL?.absoluteString ?? "","NICK": name]
){(sharingResult, error) in
if let error = error {
print(error)
} else {
print("shareCustom() success.")
if let sharingResult = sharingResult {
UIApplication.shared.open(sharingResult.url, options: [:], completionHandler: nil)
}
}
}
} else {
//VC์ ouput์ผ๋ก ๋ฏธ์ค์น ๋์๋ค๋ ๊ฒ send (Combine)
output.handleKakaoShare.send(false)
}
}
https://developers.kakao.com/docs/latest/ko/message/ios-link#custom-template-msg
Kakao Developers
์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
developers.kakao.com
https://apps.apple.com/kr/app/roome/id6503616766
roome
๋ฐฉ ํ์ถ ํ๋กํ ์ ์ ์๋น์ค ๋ฃจ๋ฏธ๋ฅผ ํตํด ๋์ ์ฑํฅ์ ๋น ๋ฅด๊ฒ ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด ๋ณด์ธ์. ๋ฃจ๋ฏธ๋ ๋ฐฉ ํ์ถ์ ์ข์ํ๋ ์ฌ๋๋ค์ด ๋์ ์ทจํฅ์ ๋ด์ ํ๋กํ์ ์ด๋ฏธ์ง 1์ฅ์ผ๋ก ๋ง๋ค ์ ์๋ ์๋น์ค
apps.apple.com