Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
SearchBundles - iPhone Development Wiki

SearchBundles

From iPhone Development Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Search bundles are bundles to provide search results for Spotlight. There is a hardcoded limit of 11 (for iOS 8 and below, unknown for iOS 9) search bundles (domains), all of which are occupied by built-in ones.

SearchLoader is a developer library for adding more search bundles.

Domains

# Name Bundle ID iOS Version
0 Top Hits (null) iOS 7+
1 Search X iOS 7+
2 Contacts/Address Book com.apple.MobileAddressBook iOS 7+
3 Mail com.apple.mobilemail iOS 7+
4 Applications com.apple.application iOS 7+
5 Notes com.apple.mobilenotes iOS 7+
6 iPod/Music com.apple.Music iOS 7+?
7 Podcasts com.apple.podcasts iOS 9
8 Videos com.apple.videos iOS 9
9 iBooks com.apple.ibooks iOS 9
10 Calendar com.apple.mobilecal iOS 7+?
12 Voice memos com.apple.VoiceMemos iOS 7+?
13 Reminders com.apple.reminders iOS 7+
15 Extended iOS 7+?
16 News, suggest websites, wikipedia, iTunes store, app store com.apple.parsec iOS 9+
18 Safari com.apple.mobilesafari iOS 9+
20 ? com.apple.psuedocontact iOS 9+
21 Nearby iOS 9+
22 Siri Suggestions (null) iOS 9+
23 Third party apps? com.apple.corespotlight iOS 9+
24 Calculations com.apple.calculations iOS 9+
25 Conversions com.apple.conversions iOS 9+
26 Messages com.apple.MobileSMS iOS 9+

Finding a Search Domain

[[%c(SPUISearchModel) sharedInstance] searchDomains] will list all the domains

[[%c(SPDomainManager) defaultManager] getBundleIdForDomainNumber:] will then give you their bundle ids

Categories

In iOS 9, search have a combination of categories, bundle id, domains, and display identifiers. For example, Top hits has a category of com.apple.spotlight.tophits domain of 0 and display identifier of DOMAIN_TOPHIT

Structure of a Search Bundle

Search bundles should have an extension of .searchBundle. The principle class should conform to the SPSearchDatastore protocol.