Guideline 2.5.18
Guideline 2.5.18 - Software Requirements: Ads in Widgets, Extensions, or App Clips
Our Take
Apple is rejecting your app because it displays advertising in a notification content extension, Today widget, WidgetKit widget, or App Clip. Apple prohibits ads in these surfaces because they consider them system-integrated experiences that should provide utility, not serve as advertising platforms. This rejection is straightforward but catches developers who try to monetize their widget or App Clip presence. The logic from Apple's perspective is that users add widgets and interact with App Clips expecting focused utility. Injecting ads into these compact, system-integrated surfaces degrades the platform experience. The ban covers all forms of advertising: banner ads, interstitial ads, native ads, sponsored content clearly identifiable as advertising, and any form of monetized content placement. It applies to: Today widgets (legacy), WidgetKit widgets (iOS 14+), notification content extensions, share extensions, iMessage extensions, and App Clips.
Resolution Guide
Remove ads from all extension targets
Check every extension target in your Xcode project: WidgetKit extensions, Today extensions, notification content extensions, share extensions, iMessage extensions, and App Clips. Remove any ad SDK initialization and ad view code.
Remove ad SDK dependencies from extension targets
In your Podfile or Package.swift, ensure ad SDKs (AdMob, Facebook Ads, Unity Ads, etc.) are only linked to your main app target, not extension targets.
Replace ad space with useful content
Where ads were, show actual app content: recent data, quick actions, or a prompt to open the main app.
Keep monetization in the main app
Ads are perfectly fine in the main app. Use the widget or App Clip as a lead-in to the full app experience where ads can be displayed.
Check for indirect advertising
Ensure your widget doesn't display 'sponsored content' or 'partner offers' that could be classified as advertising even if they don't use a traditional ad SDK.
Prevention
Example Rejection Email
Before & After
Weather widget shows current temperature at top with a Google AdMob banner ad occupying the bottom third of the widget
Weather widget shows current temperature, 3-hour forecast, and a 'See full forecast' deep link to the main app (where ads are displayed)
What changed: Use the widget space for utility. Drive users to the main app for the full experience (and ad-supported monetization).
Community Solutions · 0
Sign in to share your solution.
More Guideline 2 (Performance) rejections
- Guideline 2.1 - App Completeness: App Crashes During Review
- Guideline 2.1 - App Completeness: App Requires External Hardware Not Provided for Review
- Guideline 2.1 - App Completeness: Crashes on Launch
- Guideline 2.1 - App Completeness: Demo Account Not Working
- Guideline 2.1 - App Completeness: IAP Products Not Found in Binary
- Guideline 2.1 - App Completeness: Missing App Icon