Your App Will Get Rejected | New Privacy Rules - 2024

Поділитися
Вставка
  • Опубліковано 27 лис 2024

КОМЕНТАРІ • 169

  • @seanallen
    @seanallen  8 місяців тому +2

    Learn more iOS Dev with my Swift, SwiftUI & UIKit courses at seanallen.teachable.com

    • @K-ti2bb
      @K-ti2bb 7 місяців тому

      What if I use user's location and I don't store it. Do I still have to add it in the list?

  • @AivarsMeijers
    @AivarsMeijers 8 місяців тому +16

    I was lazy and just waited on video from you to fix this in my projects :)
    Thank you!

    • @seanallen
      @seanallen  8 місяців тому

      Glad I could help, Aivars :)

  • @maestrogoldring1094
    @maestrogoldring1094 8 місяців тому +32

    Thanks for breaking this down. Sometimes I have a hard time keeping up with these updates from Apple

    • @seanallen
      @seanallen  8 місяців тому +6

      It's damn near a full-time job...

    • @dj_256
      @dj_256 8 місяців тому +2

      I'm an Android dev and dont worry, we are lost too

    • @peterpaniccc
      @peterpaniccc 7 місяців тому +4

      I develop for android and iOS. I’m a bit masochistic

    • @Paul-uo9sv
      @Paul-uo9sv 6 місяців тому

      @@peterpaniccc net MAUI?

  • @chmiiller
    @chmiiller 8 місяців тому +6

    thanks Sean, amazing video! There's no content like this on the web, please keep on posting

    • @seanallen
      @seanallen  8 місяців тому

      Thanks, will do!

  • @borto_ale
    @borto_ale 8 місяців тому +4

    Great video, saved me a lot of time! But i have a question: why isn’t the app privacy report on the app store automatically filled in based on the plist file? Do I really need to copy paste everything manually from the Xcode generated pdf?

    • @seanallen
      @seanallen  8 місяців тому +1

      I believe so at this point. This is all brand new stuff. The idea for the privacy report is to help you fill out your privacy info on the App Store. Before the privacy report you just had to guess what the 3rd party SDKs were doing.

  • @peterpaniccc
    @peterpaniccc 7 місяців тому +4

    Thank you. Awesome content. Unfortunately I watched this after figuring out myself, which was painful

    • @seanallen
      @seanallen  7 місяців тому

      Ah, that sucks. It took me a while to read into this to sort of understand it (some of it is still a little vague)

    • @peterpaniccc
      @peterpaniccc 7 місяців тому

      @@seanallen yes, same. It's poorly done by Apple. Only look at the emails they send. It's a wall of text. I really thought my build was broken. In my opinion it causes too much confusion. In the end, it is a good thing, but the message could be delivered a bit more "politely" (sorry not a native speaker)
      Keep up the good work 💪

  • @manishparihar3361
    @manishparihar3361 8 місяців тому +7

    Thank you for sharing the updates🙌

  • @cider6371
    @cider6371 8 місяців тому +1

    Thanks, it took some time dig around and figure of the structure when the notice first popped up, as well as needing to generate the privacy report manually. I thought the plist was be sufficient enough and that the report would be generated automatically. This'll help remove some confusion for some devs

  • @AriPace-xz1zj
    @AriPace-xz1zj 7 місяців тому +1

    Great video, thanks. Can you confirm that existing apps are grandfathered in? I've seen conflicting information on this. Thanks!

  • @samirguerdah7363
    @samirguerdah7363 8 місяців тому

    Thanks for sharing all of this valuable informations. I have a question please, it's not clear for me if the privacy Nutrition Label is required in the privacy ma manifest ? Thanks

  • @alexblaga2297
    @alexblaga2297 8 місяців тому +2

    Thank you! really useful and a great explanation!

    • @seanallen
      @seanallen  8 місяців тому +2

      Glad it was helpful!

  • @UsmanAli-r2x1c
    @UsmanAli-r2x1c 6 місяців тому

    thank you, I am soon publishing my first iOS app to App Store and this is helpful. Is it required for uploading app in TestFlight also?

    • @seanallen
      @seanallen  6 місяців тому

      This is not required for Test Flight (as far as I know)

  • @rivforest2395
    @rivforest2395 8 місяців тому +2

    thanks for the clarity and explanation! 😀

    • @seanallen
      @seanallen  8 місяців тому +1

      Glad it was helpful!

  • @captainmichaelj2321
    @captainmichaelj2321 8 місяців тому +1

    Thanks so much for the content, as usual. I do have some legacy libraries which are not really maintained, can I still use them by declaring what they are tracking and putting them manually into the privacyInfo? Most of my libraries are ones mentioned by Apple, e.g Firebase, but I do use uncommon ones.

    • @seanallen
      @seanallen  8 місяців тому

      I mention this in the video, but if your app is already on the App Store and is using these libraries, you don't have to do anything. You're grandfathered in. It only applies if you are submitting a brand new app or adding one of those SDKs in an app update.

  • @ilyabiltuev
    @ilyabiltuev 7 місяців тому +1

    Thank you, Sean! Useful as always! 👏

    • @seanallen
      @seanallen  7 місяців тому

      Glad you liked it!

  • @HiteshKumar-qr4kc
    @HiteshKumar-qr4kc 8 місяців тому

    Thanks for sharing great knowledge Sean. I have this confusion, can you please help, If I have an app and I'm using one of the lib from the list so still I will have to update app with privacy file? OR only if I'm submitting a new app or adding any new lib?

    • @seanallen
      @seanallen  8 місяців тому

      If you are using a required reasons API (like user defaults) then you have to add the privacy manifest no matter what. If you are using a 3rd party SDK that is on that list, the way I read the documentation (as I do in the video), they 3rd party SDKs have to have a privacy manifest when submitting a new app or if you add that SDK as an app update.

  • @nileshjdarji
    @nileshjdarji 8 місяців тому +1

    Very Nice. I am going to use this as a tutorial to update my pList on my next app update. Thank you for such a nice detailed video. Appreciate it a lot.

    • @seanallen
      @seanallen  8 місяців тому

      Happy to help, Nilesh. It was actually quite simple to implement. The tricky part was understanding what's required.

    • @nileshjdarji
      @nileshjdarji 8 місяців тому +1

      @@seanallen Absolutely. Also I have a question on Deep dish swift. I will DM you on twitter.

  • @mskr1451
    @mskr1451 8 місяців тому +1

    Thanks Sean, Nicely explained, I guess signature part is missing that also mandatory for xcframeworks

    • @seanallen
      @seanallen  8 місяців тому

      Yes, 3rd party SDKs that are on that list will need a signature.

  • @subinsuresh3234
    @subinsuresh3234 8 місяців тому +2

    We have an app which uses lot of inactive SDKs now(Last updated around 3-4 years ago), and getting email for Required reasons APIs. What should I do if I need to release some app updates?

    • @seanallen
      @seanallen  8 місяців тому

      As I read the documentation, you will need to include a privacy manifest in your app and declare that you are using the required reason API for. You will need to do your best to understand WHAT those 3rd party SDKs is using it for and declare the proper reason.

    • @subinsuresh3234
      @subinsuresh3234 8 місяців тому

      @@seanallen So I need to add the required reasons API details in my privacy manifest file on behalf of the inactive SDKs?

  • @toadlguy
    @toadlguy 8 місяців тому +1

    It should be noted that, although a PIA for developers, this is a good thing and is trying to avoid the use of 3rd party APIs collecting data and avoiding any need to report it to the user, even without the developers knowledge (as well as generally make the Privacy Nutrition labels better).

  • @0xjorgev
    @0xjorgev 7 місяців тому +1

    Thanks for the detail explanation Sean!

  • @amor35
    @amor35 7 місяців тому +1

    Thank you Sean. Much easeier than Apple docs.

  • @pritamsarkar7879
    @pritamsarkar7879 8 місяців тому +1

    1 question: I am currently building an app for launching in the App Store. My question is my app sign in /sign up from the backend data fetch by firebase, then how can I fatch these in the future and what will be the alternatives? AppAuth is also in the list. Love from 🇮🇳

    • @seanallen
      @seanallen  8 місяців тому +2

      You can still use the FirebaseSDK. I assume Firebase is updated often enough that they most likely already have the privacy manifest implemented. You would have to check their repo (like I mention in the video). But if they updated it, you should be fine as long as you're using the latest version of the package.

  • @VishnuvardhanNasina
    @VishnuvardhanNasina 7 місяців тому

    Hi, Is it applicable to MDMs also? or just for store submissions?

  • @alejandrotevez6302
    @alejandrotevez6302 7 місяців тому +1

    Im about to launch an app and sometimes I get so much into the bone that I forget to check on those kinds of details.
    You are a saint for breaking this stuff down, INSTANT SUBSCRIBE :D

    • @seanallen
      @seanallen  7 місяців тому

      Happy to help and welcome to the channel :)

  • @salcataudella4517
    @salcataudella4517 6 місяців тому

    You never described how to add third party SDK pod privacy info to the app's privacy.xcprivacy file, in case the third party pod does not have a privacy manifest. Should we just figure out what the SDK does and 'wing it' in the app's .xcprivacy file?

  • @abhishekpednekar211
    @abhishekpednekar211 8 місяців тому +1

    You're a saviour! Thanks for the clarity :)

    • @seanallen
      @seanallen  8 місяців тому +1

      No worries!

    • @abhishekpednekar211
      @abhishekpednekar211 8 місяців тому

      @@seanallen I followed the tutorial step by step.
      1. Added Privacy manifest.
      2. Added key 'Privacy Accessed API Types' with type 'User Defaults' (Used Key from Apple's website)
      3. Added Reason (CA92.1)
      4. Submitted the build to appstore
      After doing these steps I still got the mail from Apple saying -
      ITMS-91053: Missing API declaration- Your app’s code in the “xyz” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults.
      Am I missing any step here?

    • @abhishekpednekar211
      @abhishekpednekar211 8 місяців тому

      @@seanallen I followed the tutorial step by step.
      1. Added Privacy manifest.
      2. Added key 'Privacy Accessed API Types' with type 'User Defaults' (Used Key from Apple's website)
      3. Added Reason (CA92.1)
      4. Submitted the build to appstore
      After doing these steps I still got the mail from Apple saying -
      ITMS-91053: Missing API declaration- Your app’s code in the “xyz” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults.
      Am I missing any step here?

  • @software-sage
    @software-sage 8 місяців тому +1

    Great overview for the new privacy rules. Apple is trying to confuse us. This breaks it down very clearly.

  • @bolloj7250
    @bolloj7250 8 місяців тому +1

    If the 3rd party SDKs have not included the privacy manifest, can you cover them in your own app's manifest file? For example if a 3rd party is using UserDefaults without the manifest file, can I include its use of UserDefaults in my app's privacy manifest?

    • @seanallen
      @seanallen  8 місяців тому +1

      I believe so. Remember, this is all brand new so no one has experience with this yet. But as I read the documentation, I believe that's true.

    • @bolloj7250
      @bolloj7250 8 місяців тому

      @@seanallen Thank you for your response, i suppose we have to try and find out. Apple docs were a bit vague

  • @richardgomez9093
    @richardgomez9093 3 місяці тому

    what about if im not colleting any data from the nutricion option what do i put in colletion
    thanks

  • @liang0
    @liang0 8 місяців тому +2

    this is super useful, thanks so much!

    • @seanallen
      @seanallen  8 місяців тому +1

      Glad it was helpful!

    • @azimjondev
      @azimjondev 7 місяців тому

      ​@@seanallen 🤫 errorMessage: print("copy paste answer or duplicated") 🥶🥶🥶

  • @ShinigamiTodesengel
    @ShinigamiTodesengel 8 місяців тому +1

    Thank you very much. This video was very helpful for me ❤

    • @seanallen
      @seanallen  8 місяців тому

      You're welcome 😊

  • @etaosin
    @etaosin 8 місяців тому +1

    thx for this material. your news are helpful a lot

  • @captaintech8337
    @captaintech8337 7 місяців тому +1

    Awesome, thank you for the valuable information.

    • @seanallen
      @seanallen  7 місяців тому

      Glad it was helpful!

  • @solopreneur2024
    @solopreneur2024 8 місяців тому +1

    Thanks for the info., I would be lost without this...

  • @aronianspigonian8589
    @aronianspigonian8589 2 місяці тому

    I added the UserDefaults information for my ap, but I'm not sure how to do the same for the firebase sdk which uses a users name and email... Help!

  • @brianabayne2543
    @brianabayne2543 7 місяців тому +1

    Thanks so much!! You are amazing ! 💥

  • @chuanpham3541
    @chuanpham3541 8 місяців тому +1

    Super helpful, thank you!!!

    • @seanallen
      @seanallen  8 місяців тому +2

      Glad it was helpful!

  • @RussChannel13
    @RussChannel13 8 місяців тому +2

    Thanks for sharing Sean, but why so stress-inducing title ?!

    • @seanallen
      @seanallen  8 місяців тому +3

      The game of UA-cam, my friend.

    • @toadlguy
      @toadlguy 8 місяців тому +1

      Hopefully some day, UA-cam (and other Social Media sites) will realize the people are being manipulated in ways that are distinctly NOT positive and show some actual responsibility 😉

  • @femialiu
    @femialiu Місяць тому

    If my app splits and saves video files to the users photos or files do I need to include this? My app does not store or use their media, they just use the app to modify it and then save or share the modified media.

  • @franksolleveld2909
    @franksolleveld2909 8 місяців тому +1

    Thanks Sean! Very nice.

    • @seanallen
      @seanallen  8 місяців тому

      Glad you liked it!

  • @azimjondev
    @azimjondev 7 місяців тому

    Hello, is it possible to create this file and fill in the data in the project and upload the app to the appstore? Do we not need to send the reported .pdf file to another place?🙄

  • @dineshvijaykumar4237
    @dineshvijaykumar4237 8 місяців тому

    Just to clarify, this only applies if you are making a new update to your app or creating a new one? i.e. If I have an app currently on the store that uses UserDefaults and requires location updates, do I need to update it with the new privacy manifest file now? Or do I only need to do it when I make an update to the store?

    • @seanallen
      @seanallen  8 місяців тому

      Right. Your next update will be rejected if you don't have a privacy manifest. But if you never update the app, then you won't have to do anything.

  • @karthikm.s.5150
    @karthikm.s.5150 7 місяців тому

    Thank you so much for this!

  • @NguyenThanh-zi2po
    @NguyenThanh-zi2po 8 місяців тому

    I have 2 app. The 1st app is a framework. I build it in release mode. And "pod install" it for my 2nd app like install Firebase sdk...
    I only install 1st app(framework) for 2nd app. Not public my 1st app.
    Should i create privacy manifests file for the 1st app?

  • @MaheshBijapur-e6r
    @MaheshBijapur-e6r 8 місяців тому +1

    what if a third party used Userdefaults? Does the third party SDK should provide privacy manifest too?

    • @seanallen
      @seanallen  8 місяців тому

      As far as I understand, yes. The SDKs should be updating their privacy manifests and if they use UserDefaults, that should be included.

    • @MaheshBijapur-e6r
      @MaheshBijapur-e6r 8 місяців тому

      ​@@seanallen thanks, so if I've understood correctly, even though our SDK is not listed by Apple, If we use UserDefaults in our SDK we should provide privacy manifest file.

    • @seanallen
      @seanallen  8 місяців тому

      This is all new, so I'm not 100% sure. But that's how I read it. As you saw, it's a very simple implementation, so it can't hurt to add it to your next update.

    • @MaheshBijapur-e6r
      @MaheshBijapur-e6r 8 місяців тому

      @@seanallen lol no, I've already published it in jan release, now I was wondering whether was is necessary or not

    • @yashjain1144
      @yashjain1144 7 місяців тому

      I have a question
      Our apps use alot of 3rd party SDKs. Is it possible to just add all the required reasons in the app's manifest file without having to upgrade the libraries?

  • @isurujn
    @isurujn 8 місяців тому +1

    Thanks a lot of explaining all this, Sean. I was feeling a bit lost on this topic.
    On a related note. Is anyone else feeling like iOS development is becoming less fun due to these annoying grunt work? Setting up all the privacy nutrition labels on App Store Connect was tiresome enough. Now I have to do it in a plist AND do it in ASC again? You'd think ASC could simply automate this since we're supplying a damn plist with the app!
    Knowing how unreasonable and frustrating app reviewing can be, now I might have to face rejections due to the third-party SDKs as well.
    I haven't even thought about dealing with all the concurrency changes in the upcoming Swift version!
    I have half a mind to ditch iOS development and switch my stack altogether 😩

    • @seanallen
      @seanallen  8 місяців тому

      It definitely gets more complex every year as Apple updates and builds new things. But I imagine other platforms deal with this as well. The only constant in technology is change.

  • @KanyantaMubanga
    @KanyantaMubanga 7 місяців тому +1

    Thanks Sean!

  • @messidsa1092
    @messidsa1092 7 місяців тому

    after make the file
    should upload the file manifest?
    and where?

  • @AlekseiSigai
    @AlekseiSigai 7 місяців тому +1

    Thanks a lot!!! 🙌

  • @Nithinkozhikode
    @Nithinkozhikode 8 місяців тому +1

    Thanks for sharing! 🙌🏻

  • @Plain-snippet
    @Plain-snippet 8 місяців тому +1

    Thanks for the info ℹ️ 🙏

  • @Thehappiesthiccup
    @Thehappiesthiccup 8 місяців тому

    Do you know of any other sources confirming that you’re grandfathered in if you your app is already in the store and uses those SDKs?

    • @seanallen
      @seanallen  8 місяців тому

      You want another source other than Apple itself? developer.apple.com/support/third-party-SDK-requirements/#:~:text=SDKs%20that%20require%20a%20privacy%20manifest%20and%20signature&text=Starting%20in%20spring%202024%2C%20you,as%20part%20of%20the%20update.

    • @Danica-jh9jz
      @Danica-jh9jz 8 місяців тому

      @@seanallen sorry for the confusion, i still dont understand... what if i have an app that uses those sdk-s (and old app), and i want to release updates, but not adding any of those sdk-s, just to continue using them?

    • @seanallen
      @seanallen  8 місяців тому

      According to that linked documentation, those SDKs only require a privacy manifest if you are submitting a new app to the app store that includes them OR if you are updating an existing app that is adding one of those SDKs.

  • @tokero5199
    @tokero5199 7 місяців тому

    So does this replace all the clicking on app store connect that we previously had to do to create the privacy nutrition labels?

    • @seanallen
      @seanallen  7 місяців тому

      No. the privacy report that gets generated is just an aid to help all that clicking be more accurate.

    • @zacdemi
      @zacdemi 7 місяців тому

      @@seanallen Hopefully Apple makes nutrition labels automatically for us soon.

    • @seanallen
      @seanallen  7 місяців тому +1

      @@zacdemi That would be ideal!

    • @tokero5199
      @tokero5199 7 місяців тому

      @@seanallen Ok thanks..

  • @sunbrite12
    @sunbrite12 7 місяців тому +1

    Thanks fro sharing!

  • @user3451-j3g
    @user3451-j3g 6 місяців тому

    Cảm ơn Sean! Rất hữu ích

  • @masteringreactnative
    @masteringreactnative 7 місяців тому

    We added facebook sdk to our react native expo app, how should we go about fixing this in react native?

    • @seanallen
      @seanallen  7 місяців тому

      I've never built anything in ReactNative, so I can't say.

  • @iwillburn
    @iwillburn 7 місяців тому

    Thanks Bud!

  • @vladimirmoor
    @vladimirmoor 8 місяців тому +1

    thanks a lot!

  • @gaur-ie2bz
    @gaur-ie2bz 7 місяців тому

    I did all the things, declaring all privacy in the PrivacyInfo, but it still shows same issue while submitting the app.

    • @seanallen
      @seanallen  7 місяців тому

      Tough to say what's going on without any more info. Are you using one of the SDKs on the list? What required reasons API are you using?

    • @gaur-ie2bz
      @gaur-ie2bz 7 місяців тому

      Yes

  • @ChristopherCricketWallace
    @ChristopherCricketWallace 6 місяців тому

    It's a shame this isn't auto-generated by sniffing out which SDKs and APIs are used. At least make the first version and let us edit it before submission.

  • @AdamJessop-v5j
    @AdamJessop-v5j 8 місяців тому

    I don't think it's true that this only applies if the app is just adding an SDK, or a new app, Apple's email implies differently. The SDKs that use these, that it is warning about, were not added be me. Similar comments can be seen elsewhere in the comment section.

    • @seanallen
      @seanallen  8 місяців тому

      I read that right from Apple's documentation. To clarify, if you (or the 3rd party SDK) are using a "required reasons" API (like user defaults), you have to add the privacy manifest no matter what. The new app or adding an SDK into an app thing only applies to the 3rd party SDKs that are on that list. What does the email you received from Apple say?

  • @coffeeL-502
    @coffeeL-502 8 місяців тому +1

    thanks

  • @devsda1
    @devsda1 8 місяців тому

    If App Store Connect can detect what APIs are being used why can’t it generate a manifest automatically?

    • @andreabottino2714
      @andreabottino2714 8 місяців тому +1

      i'm guessing that's because it's down to the devs to specify what the app is doing, it can't be one size fits all

    • @seanallen
      @seanallen  8 місяців тому

      Yup 👆

    • @devsda1
      @devsda1 8 місяців тому

      @@andreabottino2714 it could just autofill the APIs and let the dev specify the reason

    • @peterpaniccc
      @peterpaniccc 7 місяців тому

      iOS devs need to suffer 😂

  • @toadlguy
    @toadlguy 8 місяців тому +2

    Hopefully it will be smart enough to know that if you are collecting Health Data NOT linked to customer, you can't possibly be using it for Product Personalization and will reject your app. 🤣

    • @seanallen
      @seanallen  8 місяців тому +1

      Lol, oops. I was riffing off the top of my head and didn't put that together 🤣

  • @Ali_55614
    @Ali_55614 7 місяців тому

    Another reason I hate Apple as developer, nice video though, Thanks!

  • @msolak48
    @msolak48 7 місяців тому +1

    Teşekkürler.

    • @seanallen
      @seanallen  7 місяців тому +1

      I appreciate the generosity! Happy the video was helpful.

    • @msolak48
      @msolak48 7 місяців тому +1

      ​@@seanallen I sent an update to my application today by watching your video and it was approved without any problems. Thank you for preparing such valuable and useful content.

  • @Spacer-l3j
    @Spacer-l3j 8 місяців тому +1

    I like it. It may be a bit of hassle but this is bringing another layer of safety for everyone. Less liabilities to data protection claims?

  • @andrewebling1961
    @andrewebling1961 7 місяців тому

    In other words, a shed load of time spent which will have no impact or value for 99.99% of all users, who don't even read the privacy nutrition labels. Thanks Apple!

  • @samirguerdah7363
    @samirguerdah7363 8 місяців тому

    Hello,

  • @ErikTheHalibut
    @ErikTheHalibut 8 місяців тому +2

    First 🎉

    • @marekbee
      @marekbee 8 місяців тому +2

      damn, I am too late...

    • @seanallen
      @seanallen  8 місяців тому +2

      Gotta be quick

  • @act-iosprog
    @act-iosprog 8 місяців тому

    :pepeuwu:

  • @SalarPro
    @SalarPro 8 місяців тому +1

    🫡