3월, 2021의 게시물 표시

[SPM] 01. Swift Package Manager 둘러보기

이미지
  [SPM] 01. Swift Package Manager 둘러보기 안녕하세요 물먹고하자 입니다. 이번에는 Swift Package Manager(이하 SPM)를 알아볼까 합니다. 애플 공식 링크 :  https://developer.apple.com/documentation/swift_packages Xcode11 이상부터 추가된 기능으로 애플에서 직접 지원하게된 기능이며, 라이브러리 관리가 주 목적인 기능입니다. (서드파티로 CocoaPods, Carthage 등 있음.) 아직은 SPM을 지원하고 있지 않는 라이브러리도 많지만, 메이져급 라이브러리들은 지원을 하고 있어 사용이 꺼려지진 않습니다.   사용목적 1. 회사 내 서드파티 앱 공용소스 관리 목적 => CocoaPods을 사용하면서 굳이 SPM을 도입을 하려는 목적은 현재 프로젝트의 서드파티 프로젝트가 늘어남으로 소스를 회사 내 Git서버에 올려서 서드파티에서 바로 사용 하고, 편하게 업데이트를 받으려고함. 2. CocoaPods 속도 이슈 => CocoaPods 사용보다 SPM 사용이 빌드면에서 속도가 빠르다고 하는데, CocoaPods 은 Copy, SPM은 Link 개념으로 빌드를 하는 걸로 알고 있음.  * 첨부파일 #1 : CocoaPods, CocoaPods + SPM 시 속도 차이 (확대해서 보세요) 실험 PC : 2019 MacBook Pro 16 CTO (i9 8코어 2.3, 32GB 메모리) 프로젝트 : 그룹웨어(꽤 무거운편) 결론 : SPM으로 일부 전환시 40 ~ 60초 정도 시간단축 효과를 받음 * 첨부파일 #2 : CocoaPods -> SPM 변경 항목 실험결과만 보더라도 매일 버리고 있는 빌드시간을 조금이라도 단축 할 수 있을 것 으로 보아 변경해보기로 마음먹음   마무리 처음 SPM이 나왔을때는 심지어 Alamofire 조차도 지원을 안해서 당시에는 별생각 안하고 있었는데, 프로젝트를 진행하면서 관리목적이 하나둘 생기다 보니 SPM을 알아보고 있습

[iOS] 앱스토어 점프 하기

이미지
   [iOS] 앱스토어 점프 하기 안녕하세요. 물먹고하자입니다. 앱 내에서 앱스토어 점프하는 방법에 대해 알아보겠습니다.   샘플 앱스토어 > 앱정보의 AppleID 가 존재하는데, 해당 정보를 복사하고, itms-apps://itunes.apple.com/app/{appleID} 로 URL 점프 하시면 됩니다. // let appstoreUrl = itms-apps://itunes.apple.com/app/{appleID}          if let url = URL (string: appstoreUrl), UIApplication . shared . canOpenURL (url) {             UIApplication . shared . open (url, options: [:], completionHandler: nil )         }   마무리 앱스토어 URL을 복사해서 해도 괜찮고, itms-apps 사용해도 동작은 같습니다! 소스 내에 itms-apps 있는줄 모르고 앱스토어 URL 복사해서 넣어놓은 코드가 있었네요. 수정해 놔야겠습니다. 즐거운 코딩 되세요~