3 Replies
      Latest reply on Dec 3, 2019 12:47 AM by eskimo
      jennifer266 Level 1 Level 1 (0 points)

        Hi all,

         

        I have an existing app in the AppStore. I would like to add in-app Purchases, so I followed the steps in https://help.apple.com/app-store-connect/#/devb57be10e7

         

        When I want to enable in-app purchases in XCode, I get a problem. Because my app has a wildcard App Id, I can't add in-app purchases.

        So I have to change the App Id to an explicit App Id with the TeamId as prefix.

         

        I read the documentation on Potential Loss of Keychain Access here:

        https://developer.apple.com/library/archive/technotes/tn2311/_index.html and https://developer.apple.com/library/archive/qa/qa1726/_index.html

         

        I do not use the keychain, so I suppose I don't have an issue there.

         

         

        But: The app does store data in the Documents folder. Will the new version of my app with another prefix still be able to access the data that was store in the documents folder by the previous folder? Or will the 'old' data be orphaned and will the new version of the app have its own documents folder?

         

        Thanks,

         

         

        Jennifer

        • Re: Change AppId prefix: Effect on access data in Documents folder of the app?
          eskimo Apple Staff Apple Staff (12,455 points)

          The app does store data in the Documents folder. Will the new version of my app with another prefix still be able to access the data that was store in the documents folder by the previous folder?

          Yes.  The keychain is special because the keychain access group for your app, which is how the system authorises access to keychain items, embeds the App ID as a prefix.  The file system does not use this approach for access control, and thus isn’t affected by an App ID change.

          Share and Enjoy

          Quinn “The Eskimo!”
          Apple Developer Relations, Developer Technical Support, Core OS/Hardware
          let myEmail = "eskimo" + "1" + "@apple.com"