728x90

iOS 23

Verifying the origin of your XCFrameworks

안녕하세요. xcframework 검증과 관련된 공식 문서를 읽고 정리할게요. # 1. Code Signing Identity xcframework를 선택하면 Xcode 15 이상 Inspector에서 code signing(서명) 상태를 볼 수 있어요. 만약 자체 code signing identity로 서명한 경우, Inspector에서 서명에 대한 SHA-256 fingerprint를 볼 수 있습니다. # 2. Code Signature 변경 xcframework의 서명은 변경될 수 있어요. 예시 1) 기존 SDK 제공 업체가 SDK의 소유권을 다른 조직에 양도하고, 해당 조직의 팀 ID로 서명된 새 버전을 배포하는 경우 예시 2) 배포된 xcframework를 직접 빌드하고 사명하는 경우 Ins..

iOS 2024.02.08

.a static library를 xcframework로 만드는 방법

안녕하세요. .a 형태로 된 static library로 제공되는 몇몇 라이브러리들이 있어요. (ex. Weibo iOS SDK, C++로 제작된 라이브러리 등) 이러한 라이브러리를 Swift에서 사용하려면 modulemap이 필요합니다. 그런데 아쉽게도 몇몇 라이브러리는 개발자가 지원을 해주고 있지 않아요.... 이런 경우 해결방법이 있습니다!! 바로 직접 modulemap을 추가하는 것이죠ㅎㅎ static library에 modulemap을 추가하면서 동시에 xcframework로 만드는 방법이 있습니다. 방법은 아래 문서 참고해 주세요!! (이번엔 링크로 대체할게요.) [Answers]-How can I wrap a static library (C++) into an XCFramework for ..

iOS 2023.12.31

Lookin 맛보기

안녕하세요. 이번에 회사님의 도움을 받아 Let's Swift 2023에 참석했어요!! 행사에서 많은 것을 배우고 느낄 수 있었는데, 그 중에서도 Lookin이라는 것을 처음 알게 되어 가볍게 알아보려고 합니다ㅎㅎ # Lookin이 뭐야? 쉽게 말해서, Lookin은 Xcode의 View hierarchy 창과 비슷한 UI를 제공하면서 런타임 중에 UI 속성을 수정할 수 있게 도와줍니다. # 사용법 1) Lookin 홈페이지에서 Download 버튼을 눌러서 Lookin macOS 앱을 설치합니다. 2) Xcode 프로젝트에 CocoaPods으로 Lookin iOS Framework를 추가합니다. (SPM도 지원하지만 CocoaPods 사용을 권장한다고 해요!) [주의] Lookin 모듈을 Release..

iOS 2023.10.16

Certificate, Provisioning Profile

안녕하세요. 그동안 iOS 개발하면서 매번 써왔지만 대충 넘겼었던 Certificate(인증서)와 Provisioning Profile(프로비저닝 프로파일)에 대해서 잘 설명되어 있는 유튜브 영상을 하나 발견했어요. 까먹지 않기 위해 가볍게 정리하려고 합니다. ## Certificate (인증서) 애플에서 인증서를 발급받을 수 있고, 이 인증서를 통해 개발자임을 증명하는 것. 키체인에서 Certificate Signing Request(CSR) 파일을 생성할 수 있습니다. 이 CSR 파일은 인증서 발급을 위해 필요한 정보를 담고 있는 데이터 파일입니다. (CSR 파일에 공개키가 포함되어 있음.) 이렇게 생성한 CSR 파일을 Apple Developer 콘솔에 등록하면 애플 인증서를 발급받을 수 있어요. ..

iOS 2023.09.25

Signing xcframework

안녕하세요. 이번엔 xcframework를 signing(서명)하는 것이 뭔지, 또 하는 방법에 대해 알아볼게요. # Signing? xcframework를 서명한다는 것은 누가 framework를 개발하고 배포했으며 서명한 이후에 framework가 변경되지 않았음을 증명하는 것입니다. # xcframework signing(서명) 방법 아래 명령어로 xcframework를 서명할 수 있어요. codesign --timestamp -s 예를 들어서, "Apple Distribution: Philip Chung (xxx)"란 인증서로 MyFramework.xcframework를 서명하고 싶으면 이렇게 쓰면 됩니다. codesign --timestamp -s "Apple Distribution: Phili..

iOS 2023.08.14

iOS 16.4에서 WebView Inspector 사용하기

안녕하세요. 저는 모바일 웹뷰 기능 개발할 때, WebView Inspector 기능을 자주 사용합니다. 잘 사용하던 중에 어느 순간부터 No Inspectable Applications 라고 뜨더라구요.. 요거 해결방법을 찾았습니다ㅎㅎ 찾아보니, WebKit에서 iOS 16.4 이후부터 WebView Inspector를 사용할지 말지에 대해 사용자가 옵션 설정을 하도록 바뀌었습니다. 옵션의 이름은 isInspectable 이고, default 값은 false 입니다. 즉, 아무 설정을 하지 않은 WKWebView는 WebView Inspector를 사용할 수 없다는 것이죠. 아래처럼 isInspectable를 true로 설정해 주면, WebView Inspector를 쓸 수 있게 됩니다ㅎㅎ (isIns..

iOS 2023.07.08

Moya timeout 설정하기

안녕하세요. 이번에는 Moya에 timeout 설정하는 방법 공유드리려고 합니다. (Moya 15.0.0를 기준으로 Moya가 제공하는 GitHub API 예시를 활용할게요.) timeout 설정을 해주고 싶으면 MoyaProvider의 requestClosure 인자를 활용하면 됩니다. 아래 코드를 참고해 주세요! 끝! # 참고 - https://github.com/Moya/Moya/tree/15.0.0 GitHub - Moya/Moya: Network abstraction layer written in Swift. Network abstraction layer written in Swift. Contribute to Moya/Moya development by creating an account o..

iOS 2023.05.02

Moya async API 추가하기

안녕하세요. 요즘 Moya라는 네트워크 통신 모듈을 사용하고 있습니다. Moya는 다 편한데, async-await API가 없어서 직접 만들어봤습니다ㅎㅎ # 추가 Extension 아래 코드만 추가해 주시면 됩니다. # 예시 Moya는 기본적으로 아래처럼 callback 형태로 응답값을 받는데요. 위에서 공유드린 Extension을 추가한다면, async-await 구문을 사용할 수 있게 됩니다. 이번 글은 여기서 마무리.

iOS 2023.04.11

앱 이름 현지화(localization)하는 방법

안녕하세요. 앱 이름을 현지화(localization)하는 방법에 대해 알아볼게요. 영어일 땐 "My App", 한국어일 땐 "내 앱"이라고 앱 이름을 설정해 볼게요. command + n으로 Strings File 하나 만들어줍니다. 파일 이름은 꼭 InfoPlist.strings로 해주세요. 오른쪽 Inspector 영역에서 Localize 버튼을 눌러주세요. 프로젝트 타겟으로 가서 Info > Localizations에 한국어도 추가해 줄게요. Finish 버튼 클릭합니다. 위에서 생성한 InfoPlist.strings 파일을 보면 English, Korean 파일이 생긴 것까지 확인해 주세요ㅎㅎ 이제 각 파일에 앱 이름(Display Name)을 설정해 줄게요. InfoPlist.strings (..

iOS 2023.03.09