关于应用Steelpac Site 1.1.1.27版本ITMS-90809问题的技术问询
Hey there, let's walk through exactly how to resolve this deprecated API issue and get your Steelpac Site (v1.1.1.27) app compliant for Apple's App Store submissions.
Step 1: Locate All UIWebView References First
Before you can fix the problem, you need to track down every place UIWebView is being used in your codebase and dependencies:
- In your own code: Do a global search in Xcode (Cmd+Shift+F) for
UIWebView—check Swift/Objective-C files, XIBs, and Storyboards. Look for imports like#import <UIKit/UIWebView.h>(Objective-C) or class declarations likelet webView = UIWebView()(Swift). - In third-party dependencies: Use terminal commands to scan your pods/carthage packages. For CocoaPods, run:
If any libraries show up, check their official docs to see if they've released an updated version that uses WKWebView instead. If not, you may need to find an alternative library.grep -r "UIWebView" Pods/
Step 2: Replace UIWebView with WKWebView
Apple’s recommended replacement is WKWebView—it’s faster, more secure, and fully supported. Here’s how to make the switch:
- Code changes:
- Import the
WebKitframework at the top of your files. - Replace instances of
UIWebViewwithWKWebView. For example, instead of:
Use:let webView = UIWebView(frame: view.bounds) webView.loadRequest(URLRequest(url: myURL))let webConfiguration = WKWebViewConfiguration() let webView = WKWebView(frame: view.bounds, configuration: webConfiguration) webView.load(URLRequest(url: myURL)) - Update delegate methods: Replace
UIWebViewDelegatewithWKNavigationDelegate—most methods have direct equivalents (e.g.,webView(_:didFinish:)maps to the same method name inWKNavigationDelegate, with minor parameter adjustments).
- Import the
- Interface changes: In XIBs/Storyboards, delete any UIWebView instances and drag a WKWebView from the object library. Set up your constraints and reconnect IBOutlets as needed.
Step 3: Clean Up Residual Traces
Even after replacing code, old build artifacts might still contain UIWebView references:
- Delete your Xcode Derived Data folder:
rm -rf ~/Library/Developer/Xcode/DerivedData - Clean your build folder in Xcode (Shift+Cmd+K) and rebuild your app from scratch.
Post-Fix Compliance Checks & Submission Requirements
Once you’ve replaced all UIWebView instances, follow these steps to ensure your app passes Apple’s checks:
- Verify no remaining UIWebView code: Use this terminal command on your archived app to confirm:
If there’s no output, you’re in the clear.otool -oV YourApp.app/YourApp | grep -i UIWebView - Validate before submission: Archive your app in Xcode, then use the Organizer to "Validate App"—this will run Apple’s pre-submission checks and catch any lingering issues early.
- Keep dependencies updated: Going forward, regularly update your third-party libraries to ensure they don’t reintroduce UIWebView usage in future versions.
- Follow WKWebView best practices: Ensure you’re using WKWebView’s security features (like content filtering) and adhering to Apple’s privacy guidelines (e.g., declaring any required permissions in
Info.plistif your web view accesses sensitive data).
Once you’ve completed these steps, re-submit your app—this should resolve the ITMS-90809 error. If you run into issues with specific libraries or code snippets, feel free to share more details and we can troubleshoot further!
内容的提问来源于stack exchange,提问作者Dharm Saini

