๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS/๐Ÿ”ฅ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

[iOS/Swift]์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ตฌํ˜„ 2. ์‚ฌ์šฉ์ž ์ •์˜ ํ…œํ”Œ๋ฆฟ ์‚ฌ์šฉ

by MINT09 2024. 7. 5.

2024.07.05 - [iOS/ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…] - [iOS/Swift]์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ ๊ตฌํ˜„ 1.์ด๋ฏธ์ง€ URL ์„ค์ • + FileManager์— UIImage ์ €์žฅ

 

[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