iOS용 앱을 Mac Catalyst를 지원하기 전에 걸렸다.

3038 단어 XcodeiOSMacCatalyst

전치



실제로 Mac Catalyst를 지원하려면 Mac 용 UI/UX를 생각할 필요가 있으므로 간단하지는 않지만
iOS 엔지니어가 Mac 용 앱을 더 쉽게 만들 수있게 해주는 것은 매력적입니다.
업무에서는 우선 만질 기회는 없습니다만, 취미로 개발하고 있는 앱을 Mac 대응하기로 했으므로
그 때에 걸린 포인트를 수시로 쓰고 있는 것이 본 기사입니다.

문제 해결의 대응 내용은 프로젝트에 따라 상황이 다를 수 있으므로
도움이되지 않을 수도 있지만, 양해 바랍니다. .

코드 signing "app-name.app" failed.





Codesign계의 에러로 우선 걸렸습니다.
에러 로그는 아래와 같은 느낌.
2021-02-02 15:05:51 +0000  /var/folders/rr/tkpws2d55h1_t3zgpx_psjy80000gn/T/XcodeDistPipeline.~~~no7TwZ/Root/Applications/hogehoge.app: replacing existing signature
2021-02-02 15:05:51 +0000  /var/folders/rr/tkpws2d55h1_t3zgpx_psjy80000gn/T/XcodeDistPipeline.~~~no7TwZ/Root/Applications/hogehoge.app: code object is not signed at all
2021-02-02 15:05:51 +0000  /usr/bin/codesign exited with 1

대응으로서는, Enable Bitcode를 No로 하는 것으로 서명에 성공했습니다.
아래의 투고에서는 Xcode의 하나의 버그라고 하는 바람에 기재되어 있었습니다.
Catalyst app with framework won't codesign - Apple Developer Forum

포럼 게시물에서는 Framework를 사용하기 때문에 자동 서명에 실패한 것 같습니다.
이번에 개발한 앱에서는 타사 Framework를 사용하지 않았습니다.
다만, Metal은 이용하고 있어 Metal용의 생성 파일 관련으로 서명이 실패하는 요인이 된 것이 아닐까 생각하고 있습니다.

ITMS-90242 LSApplicationCategoryType Key 설정 누설



Mac용 앱의 경우 앱 카테고리를 info.plist에 포함해야 합니다.
LSApplicationCategoryType | Apple Developer Documentation
위 문서에서 앱에 가장 가까운 카테고리를 선택하고 info.plist에 추가합니다.


ITMS-90257 The bundle is invalid



이것은 완전히 내 관리 실수이지만 CFBundleVersion 형식에 맞지 않는 Version을 지정했기 때문에 발생했습니다.
버전 3.0.0 BuildVersion 3.0.0.1 및 BuildVersion은 네 개의 마침표로 구분 된 정수로 마지막 네 번째 정수로 빌드 번호를 관리했습니다. (Test flight 단계에서 바이너리에 결함이 발견되면 Build 번호를 올리는 것과 같은 운용)
iOS에서의 아카이브시는 문제 없습니다만 Mac 버전의 아카이브시에는 포맷이 적절하지 않은 것으로부터 연주되는 것 같습니다.

본래는
  • 첫 번째 숫자는 최신 주요 릴리스를 나타내며 최대 4 자리까지
  • 두 번째 숫자는 가장 최근의 중요한 리노베이션을 나타내며 최대 길이는 두 자리까지
  • 세 번째 숫자는 가장 최근의 사소한 버그 수정을 나타내며 최대 길이는 2 자리까지

  • 의 룰로 결정해야 할 것이라고 합니다.
    또 개발시를 향해 갱신되는 번호 뒤에 접미사를 부여할 수 있다는 것이었습니다.
    부여할 수 있는 접미사는 d, a, b, fc의 4개.
    접미사 뒤에는 숫자를 부여할 수 있으며 BuildVersion을 나타낼 수 있습니다.
    빌드 버전의 최대값은 255
    앱 출시 시에는 접미사를 삭제해야 한다는 것이었습니다.

    CFBundle 버전 - Apple 문서 아카이브

    좋은 웹페이지 즐겨찾기