How to solve ITMS-90809: Deprecated API Usage with ReactNative <0.60 in CI pipeline
For a while I was ignoring the issue described in email from Apple App Store Connect for an application submission as there was no deadline mentioned. However, things changed this week when I saw there deadline mentioned is April 2020.
ITMS-90809: Deprecated API Usage — Apple will stop accepting submissions of apps that use UIWebView APIs starting from April 2020
Ok, I did a quick search and found an article that pointed me in the right way https://medium.com/@NumberShapes/uiwebview-app-store-submission-kickback-issue-bb07d77a902
So, I did a quick bash script to remove the files before build, couple of rm commands and ….. it was not working in CI pipeline.
Here is the thing: If you are removing the files using Xcode, Xcode is modifying the .pbxproj file for you. Records in this file are then used during build/archive phase. As there is no tool to edit the .pbxproj file from the command line I come with a simple solution. Meet your new friend — sed command. SED stands for Stream EDitor.
Now, to complete the round, you just have to remove lines that are matching the pattern RCTWebView, remove the backup and remove the files.
You can build the app with your favorite CI tool.