글을 시작하기에 앞서, 이전 시리즈를 읽고 오시는 것을 추천합니다 !
공식 문서에 따르면, 아래와 같이 명시되어있습니다.
Carefully consider whether you want to distribute your code in binary form because doing so comes with drawbacks.
For example, a Swift package that contains a binary is less portable because it can only support platforms that its included binaries support.
In addition, binary dependencies are only available for Apple platforms, which limits the audience for your Swift package.
코드를 바이너리 형식으로 배포할 경우 단점이 있으므로 주의 깊게 고려하십시오.
예를 들어, 바이너리가 포함된 Swift 패키지는 포함된 바이너리가 지원하는 플랫폼만 지원할 수 있기 때문에 이식성이 떨어집니다.
또한 바이너리 종속성은 Apple 플랫폼에서만 사용할 수 있으므로 Swift 패키지의 대상이 제한됩니다.
우선, Xcdoe에서 새 프로젝트를 생성해줍니다!
잘 생성이 됐다면, 아래와 같은 코드가 보입니다!
해당 Repository를 Public으로 만들고,
README, gitignore, license 를 생성하지 않도록 합니다.
❓ README, gitignore, license 를 생성하지 않는 이유?
우리가 처음에 Xcode로 SwiftPackage를 생성하게되면,
위 이미지의 Source Control에서 볼 수 있듯, Git Repository가 생성됩니다.
(물론, 선택을 해지해 생성하지 않을 수 있음)다만 저는 Package를 생성하며 Git Repository도 함께 생성했기에,
중복 생성을 막기위해 Github Repository를 생성할 때 추가 설정을 하지 않았습니다.
git remote add origin 주소
git branch -M main
git push -u origin main
먼저, App Project를 생성해줍니다 !
그 다음, 다른 라이브러리를 SPM으로 연결할때와 같이
그럼, 아래 이미지와 같이 잘 들어와있는걸 확인할 수 있습니다!
이로써, 라이브러리 생성부터 배포까지 경험해보았습니다 !
긴 글 읽어주셔서 감사합니다 !
참고문서
XCFramework + SwiftPackageManager
공식문서 - Distributing binary frameworks as Swift packages
민소네님 블로그
혹시 Xcode에서 Multiplatform 탭의 Swift Packages 템플릿은 따로 추가하신 걸까요?