Introduksiyon

Ang modernong mga gumagamit ng mobile ay umaasa ng kagyat na pagkuha ng impormasyon. Ang Core Spotlight API ay nagbibigay ng impormasyon sa mga gumagamit nito nang hindi muna binubuksan ang inyong app. Ang Cor Spotlight API[ ay ang Appleides na isang index na ginawa para sa indise ng app ay nagbibigay ng pangglobong search sa Spotlight. Kapag ang gumagamit ay nagsasaliksik mula sa Home o sa loob ng iyong screen, ang inyong mga larawan ay lumilitaw sa tabi ng mga artikulo sa pamamagitan ng isang enterimentong artikulo, at ang mga artikulo ay nagbibigay ng impormasyon na may kalakip ng impormasyon.

Pag - unawa sa Liwanag ng Kore at sa mga Pakinabang Nito

Ang Core Spotlight ay isang magaang, pribadong apokaliptikong sistema ng indise.Ito ay nabubuhay nang lubusan sa caltidevice – walang data ang nag-iiwan sa gumagamit ng communities phone maliban na lamang kung malinaw na ginagamit mo ang boudKit. Ito ay gumagawa ritong angkop para sa personal na nilalaman tulad ng mga nota, mga contact, dokumento, o anumang gumagamit ng calter grenherated data. Kabilang dito ang:

  • Nagkaroon ng inkreased tipanan – Ang mga User ay tumutuklas ng nilalaman na maaaring nakalimutan nila, na nagpapataas ng paulit-ulit na paggamit.
  • [Seamless na nabigasyon – Ang pag-sop ng resulta ng paghahanap ay maaaring magbukas ng iyong app nang tuwiran sa kaugnay na screen.
  • Offline perfix – Ang mga bagay na may Index ay nananatiling mahahanap kahit na walang internet connectivity.
  • [pagpapatupad ng Look na halaga – Ang API ay maliit, mahusay na andokumento, at madaling makipag-ugnayan sa mga umiiral na modelo ng datos.

Ang Core Spotlight ay gumagana sa tabi NSUserActivity Ang pag-iiskor, ngunit para sa static o madalas na binagong nilalaman, ang direktang CS Searchable Item indexing ay nagbibigay sa iyo ng mas mahusay na kontrol.

Mga Prerequisite at Segura

Bago magsulat ng code, tiyaking maayos ang iyong proyekto:

  1. Dapat puntiryahin ng iyong app ang mga iio 9 o mamaya (ang API ay nag-ere ng iOS 9).
  2. Maaring Core Spotlight[ May kakayahan sa Xcode – sa ilalim [[Signing & Capabilities] Idadagdag ang ⁇ Core Spotlight ⁇ triftriplement. Ito ay kadalasang awtomatikong isinasama kapag nag-aangkat ng balangkas.
  3. I-port ang Core Spotlight framelice at MobileCoreServices (para sa mga tipo ng titik na mga tagatukoy): at .

Wala nang karagdagang configur configuration o pahintulot ng gumagamit ang kinakailangan.Ang Indexing ay nangyayari nang walang pag-aaartista sa likuran.

Paglikha at Pagtitipid sa Paghahanap ng mga Bagay na Kapkapan

Ang pinaka - buod ng Core Spotlight ay ang bagay.

  • A [ ⁇ u ⁇ u ⁇ que identifier (e.g., ) – ginamit sa kalaunan upang pangasiwaan ang mga pagpipilian o update.
  • Isang opsyonal domain identifier – mga grupong kaugnay na mga bagay (e.g., ).
  • Ang An () – ay naglalarawan sa nilalaman ng mga katangiang katulad ng , , , , at higit pa.

Narito ang isang kumpletong halimbawa ng swift na may indise ng isang nota:

import CoreSpotlight
import MobileCoreServices

func indexNote(note: Note) {
 let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeText as String)
 attributeSet.title = note.title
 attributeSet.contentDescription = note.body
 attributeSet.keywords = [note.title] + note.tags
 if let imageData = note.thumbnail?.pngData() {
 attributeSet.thumbnailData = imageData
 }

 let item = CSSearchableItem(
 uniqueIdentifier: "com.yourapp.note.\(note.id)",
 domainIdentifier: "com.yourapp.notes",
 attributeSet: attributeSet
 )
 // Optionally set expiration date (default is one month)
 // item.expirationDate = Date.distantFuture

 CSSearchableIndex.default().indexSearchableItems([item]) { error in
 if let error = error {
 print("Indexing error: \(error.localizedDescription)")
 } else {
 print("Note indexed successfully.")
 }
 }
}

Ang Attribute ay Naglagay ng mga Wastong Bagay

Ang ay nagmamana mula at nag-aalok ng dose-dosenang mga katangian.Para sa karamihan ng mga app ang mga sumusunod ay mahalaga:

  • – Maikli at naglalarawang teksto na kitang-kita.
  • – Isang mas mahabang sappet na ipinapakita sa ibaba ng pamagat.
  • – Array ng para sa mga alternatibong termino sa paghahanap.
  • o – Nakikitang preview.
  • – Pinag-uugnay ang mga bagay (hal.g., mga tala ng magulang na si Michildchild).

Para sa nilalamang media, gumamit ng mga katangiang type calcific na gaya ng , , o .

Nakapagsasaayos at Nakapapalya ng Indise na Kontento

Kapag nagbago ang iyong mga appizer, dapat mong panatilihing sabay - sabay ang indise.

Pag - aayos ng Isang Bagay

Tawag na may parehong natatanging identifier – ang API ay awtomatikong pumapalit sa lumang entidad.

Pag - aalis ng mga Bagay - Bagay

Gamitin o upang alisin ang lumang nilalaman:

CSSearchableIndex.default().deleteSearchableItems(withIdentifiers: ["com.yourapp.note.123"]) { error in
 // handle
}

Ang mga operasyon ng batch ay mahusay: nagpapasa ng mga array sa o .. Para sa isang ganap na renovance, gamitin (makailangan).

Pagharap sa Gawain sa Paggamit at ang Malalim na Kaugnayan

Kapag ang gumagamit ay gumagamit ng isang Spotlight na resulta, ang inyong app ay tumatanggap ng tawag sa pamamagitan ng na pagpapatuloy.

func application(_ application: UIApplication,
 continue userActivity: NSUserActivity,
 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {

 if userActivity.activityType == CSSearchableItemActionType {
 if let userInfo = userActivity.userInfo,
 let identifier = userInfo[CSSearchableItemActivityIdentifier] as? String {
 // Navigate to the item with this identifier
 navigateToContent(identifier: identifier)
 return true
 }
 }
 return false
}

Muling Pagbabalik sa Estado

Para sa mas magandang karanasan, ipatupad din upang ipakita ang isang nakakargang estado. sa eksena, ang aps (iOS 13+), gamitin ang paraang .

Malalim na Kaugnayan sa NSUserActivity

Gumagana rin ang Core Spotlight sa mekanismong . kung may mga gawain ka nang indise sa pamamagitan , maaari mong idagdag ang watawat . Gayunpaman, para sa mahusay na kontrol na pang-industriya sa mga pamagat at paglalarawan, gamitin nang tuwiran .

Pinakamabuting mga Kaugalian Para sa Mabisang Pagtitinggal

Ang pagsunod sa mga tuntuning ito ay tumitiyak na ang nilalaman ng iyong indise ay nananatiling mahalaga at totoo:

Indise Tanging Makabuluhang Nilalaman

Ang pagpopokus sa mga bagay na ginagamit ay malamang na maghanap ng: mga dokumento kamakailan, pahinang may mataas na kalidad, o mga pahinang may marka.

2. Magtakda ng Tamang Petsa

Sa pamamagitan ng default, ang mga bagay ay nawawala pagkatapos ng isang buwan. Para sa static content, magtakda .

3. Gamitin Nang May Katalinuhan ang mga Domain Identifiers

Ang mga domain identifiers ay pinapayagan kang i-delete ang lahat ng mga bagay mula sa isang grupo nang sabay-sabay. halimbawa, kung ang isang user deletes ay isang folder, tumawag .

4. Magbigay ng Makahulugang mga Susi

Isama ang mga aktroskopiko, karaniwang misspelling, at alternatibong pangalan. iwasan ang labis na pagsiksik; 5–10 mahusay na pilipinong keywords ay sapat na.

5. Iwasan ang Paghingi ng Sapat na Impormasyon

Kung tutularan mo ang mga bagay (hal.g., ang parehong pamagat sa iba't ibang domain), nakikita ng mga gumagamit ang nakalilitong mga resulta.

6. Mga Operasyon ng Batch Para sa mga Update ng Bulk

Kapag nag-iisa ng maraming mga bagay (hal., pagkatapos maibalik ang ulap), igisa ang mga ito sa mga hanay na 50–100 upang maiwasan ang pagharang sa pangunahing sinulid. Gamitin na may array, hindi multiple one calls.

Mga Pagsasaayos at Pambubugbog

Ang core Spotlight ay nagpapatakbo ng mababang proseso ng pag - aalis ng mga mikrobyo. Pero ang mahinang pagpapatupad ay maaaring mag - alis ng batirya o magpahina ng sistema ng kuryente:

  • Limit reindexing frequency – Tanging reindex kapag ang datos ay aktuwal na nagbabago, hindi sa bawat paglunsad ng app.
  • Throttle malalaking operasyon – Gumamit at (magagamit sa ) para sa mga atomikong update.
  • Hindi dapat magkaroon ng mabibigat na imahe – [kailangan ng sanggunian] ay maliit (hal., 64×64 puntos, JPEG compression).
  • Ang default index – ay sapat na para sa halos lahat ng app. Creative customs ay bihirang kinakailangan.

Appleprocts Core Spotlight documents Binigyang diin na ang indexing ay dapat ituring na ⁇ fire at limbition – huwag sabay na maghintay sa mga kumpletong callback sa pangunahing sinulid.

Pagsubok sa Pagsugpo sa Integrsyon

Ang mga resulta ng pag - aalis ng mga Spotlight ay maaaring maging mapandaya sapagkat ang mga ito ay laging lumilitaw agad - agad. Sundin ang estratehiyang ito ng pagsubok:

  1. [ – Gumamit ng iOS Simulantor (iOS 15 o mamaya). Pagkatapos ng indexing, maghintay ng ilang segundo, pagkatapos ay hilahin ang Home screen upang maghanap. Tandaan na maaaring mas matagal ang mga resulta sa Simulotor.
  2. Ang pagsusuring pang-Device – Laging pagsubok sa isang pisikal na aparato.Ang spotlight indexing ay mas agresibong kumikilos sa tunay na hardware.
  3. [ – Gamitin ang settings app: General → Spotlight Search → i-gggle ang iyong app. Nililinaw nito ang index at pwersang bagong simula.
  4. [Verify deletion – Pagkatapos na i-distinggal ang isang bagay, tiyakin ang lumang resulta ay hindi na lumilitaw. Kung minsan ang sistema ay nagbubunga; ibigay ito hanggang 30 segundo.
  5. ] Ang debug console[ – Entable ] pagtotroso sa pamamagitan ng pagpasa sa mga argumentong Xcodeimens scheme.

Ang isang kapaki-pakinabang na mapagkukunan ay WWDC 2015 ⁇ ICC Core Spotlight ⁇ , na sumasaklaw sa mga konseptong pundasyonal na kapit pa rin sa ngayon.

Pagsasaayos

Ang Core Spotlight API ay isang matipuno, hindi pa nailalapat na kasangkapan na maaaring bumago sa paraan ng pakikitungo ng mga gumagamit sa inyong app. Sa pamamagitan ng pagdaragdag ng nauugnay, pag-apruba ng conficial content sa systemides search index, nagbibigay kayo ng isang makikiskis na landas na walang eplikado mula sa paghahanap hanggang sa nilalaman – pagpapataas ng mga ending at refier. hetong maliit: index ang inyong pinakamahalagang nilalaman una, suriing mabuti ang mga hakbang na binalangkas, at pagkatapos ay palawakin ang karanasang mag-isip ng mga elecleclecleclecleclecleclector.

Para sa higit pang pagbasa, sumangguni sa opisyal Core Spotlight Framework Reference at sa App Search Programming Guide.