Search

iOS에서 인스타그램 공유가 안되는 이슈 해결

 들어가며

2023년 10월 어느 날, 리팩토링을 하고 있던 와중에 기능 중 하나였던 “인스타그램 공유”가 안된다는 걸 깨닫게 되었습니다.
위기는 거꾸로 해도 기위..
얼른 문제를 해결하기 위해서 검색을 해본 결과, Facebook 앱 ID를 등록해야한다는 글을 보게 되었습니다.
당장 등록 과정을 밟아봅시다.

 앱 ID 등록

Meta 개발자 페이지에서 앱 ID 가져오기 부분을 참고해서 진행했습니다.
1.
개발자 계정에 로그인합니다.
Meta 개발자로 등록하기 에서 등록 절차를 밟을 수 있습니다. 저도 냅다 가입했습니다.
2.
앱 페이지를 엽니다.
앱 페이지가 없기 때문에 앱 페이지를 먼저 만들어야 합니다. 아마 계정을 만들고 나면 해당 화면이 보이실 겁니다.
앱 만들기 버튼을 누르면 앱에 필요한 기능을 선택하라고 합니다. 저희 앱에서는 스토리 공유 기능만 사용하고 싶기 때문에 기타를 선택했어요.
다음으로는 앱 유형을 선택해야 합니다. 쓰고자 하는 기능이 공유라서 더 알아보기를 통해서 각 유형에서 사용할 수 있는 기능을 찾아봤습니다.
소비자 유형이 공유를 사용할 수 있는 거 같아서 소비자로 선택해주었습니다.
다음 단계에서는 원하는 앱 이름과 이메일을 넣으면 됩니다. 그러고 나면 대시보드가 뜹니다.
대시보드에 검은색으로 가린 부분이 앱 ID입니다. 이제 앱 ID를 사용해서 문제를 해결해볼게요.

 프로젝트에 앱 ID 등록

스티커 자산 공유하기 부분을 참고해서 이전에 있던 코드를 수정해보겠습니다.
이전에 있던 부분은 코드가 이렇게 구성되어 있었어요.
private func handleInstagramShare(_ items: [String: Any]) { if let shareURL = URL(string: URLLiteral.Memory.instagram) { if UIApplication.shared.canOpenURL(shareURL) { let options = [UIPasteboard.OptionsKey.expirationDate: Date().addingTimeInterval(300)] UIPasteboard.general.setItems([items], options: options) UIApplication.shared.open(shareURL) } } }
Swift
복사
해당 코드에서 수정된 부분이 뭔가 봤더니 URLLiteral.Memory.instagram에 설정되어 있던 텍스트 instagram-stories://shareinstagram-stories://share?source_application=%@로 수정되었더라구요. %@에 들어가는 텍스트는 아까 생성했던 앱 ID입니다.
바로, 텍스트를 수정하고 빌드했더니 잘 동작합니다.
아무래도 앱 ID는 중요한 정보이다보니 잘 숨겨서 사용하시길 바랍니다.
저는 프로젝트에 중요한 Key, URL들을 저장해두는 파일이 있어서 소중하게 넣고 사용했답니다. ⸜( ˙ ˘ ˙)⸝♡

 참고 자료