• [Xcode/AppStore] iOS 앱 이전 이후 발생한 이슈 해결

    2023. 5. 24.

    by. dundin

    반응형

    Apple Account A->B 로 앱 을 이전했다. 이전한 이후 발생하는 다양한 문제들을 해결한 기록 

     

     

    1. IAP 목록 이전 잘 됨 

    IAP 목록 모두 정상적으로 migration되었다. (안되는줄 알고 삽질함..) 

     

    2. App Group Error 

    AppGroup 쪽이 계속 에러가 나고 있다. 

    에러 메세지를 살펴보면 Not Available 하다고만 나온다. 

    해결 -> 기존 계정 A의 developer 사이트의 app group 섹션으로 이동해서 중복되는 appGroup을 삭제해 주면된다. 

    https://developer.apple.com/account/resources/identifiers/list/applicationGroup 


    그런데 만약 기존 계정에서 다른 앱들이 해당 앱그룹을 계속 사용하고 있는 경우,

    그냥 새로 등록해도 될것 같기도 하다. 

    (앱그룹은 어차피 App <-> Extension 그리고 다른 앱들과의 정보 공유를 위해 쓰이는 것이니까?) 

     

     

    3.  iCloud 공유 

    이 에러가 골치 아팠는데 .. 

    에러 내용은 Provisioning Profile의 kvstore-identifier가 Entitlement에 있는것과 다르다는 내용이었다. 

    Provisioning profile "iOS Team Provisioning Profile: com.rll.emolog" doesn't match the entitlements file's value for the com.apple.developer.ubiquity-kvstore-identifier entitlement.

     

    결국 해결못했는데, 그냥 iCloud 지원을 빼는것으로 해서 에러를 없앨 수 있었음 

    Provisioning Profile을 조회하고 싶으면 아래 경로에서 

    $cd ~/Library/MobileDevice/Provisioning\ Profiles/

    프로비저닝 까보니까 이렇게 되어있었다 ; 왜 OLD를 계속 유지하는지는 알수 없었움 

    application-identifier: 

    NEW_DEVELPER_PREFIX.com.dundinstudio.app

    com.apple.developer.ubiquity-kvstore-identifier: 

    OLD_DEVELPER_PREFIX.com.dundinstudio.app.widget

     

     

     

    4.  Extension Bundle Id 문제 

    위젯이 있는 프로젝트라서 위젯의 번들 id도 문제가 되었다. 

    도 duplicated 에러가 나고 있는데 .. 이건 굳이 기존 bundle id유지할 필요는 없을 것 같아서 그냥 바꿔버렸다 (..?) 

     

    일단 주의 할 것은 

     

    1. widget + notificationService 둘다 bundleID가 기존 계정에 있는 것과 겹쳐서 XCode가 자동으로 app identifier 를 등록하지 못한다. 
    2. 어차피 메인 bundleId 만 기존과 동일하면 같은 앱으로 유지할 것이기 때문에 widget, notificationService는 번들 id를 조금 변경 해준다. 
    3. 나 같은 경우는 widget는 번들아이디 등록 안된다는 에러가 명시적으로 발생 해서 수정해두었으나, notificationService은 오히려 에러가 안나서 아무생각이 없었다. 그런데 AppleDeveloper > identifier 가보니 등록이 안되어 있는 것이 확인되었다. 
    4. 이럴때는 + 눌러서 capacity를 하나 추가하면 로딩이 뺑뺑 돌면서 provisioning profile을 생성한다. 이때 appId 가 추가되는데, 여기서 에러가 발생하더라 😇

     

    여튼 widget, noficiation쪽 bundleId를 수정해주고 나면 

    한가지 더 작업할 필요가 있다. 

     

    바로 MatchFile에 아래처럼 id를 추가 해야만 제대로 매치가 진행된다. 

    app_identifier(["com.dundinstudio.myApp",
    "com.dundinstudio.myApp.widget", 
    "com.dundinstudio.myApp.NotificationExtension"])

     

     

    반응형

    댓글