簡介
UNNotificationAttachment對(duì)象可以包含視頻、音頻币叹、圖片內(nèi)容,附件內(nèi)容和通知內(nèi)容會(huì)顯示在一起模狭。附件需要你的應(yīng)用來提供颈抚。對(duì)于本地通知,應(yīng)用創(chuàng)建完通知主要內(nèi)容后再附上附件嚼鹉。對(duì)于遠(yuǎn)程通知贩汉,如果要添加附件,必須使用UNNotificationServiceExtension類實(shí)現(xiàn)notification service extension锚赤。
使用 attachmentWithIdentifier:URL:options:error:
方法創(chuàng)建attachment匹舞。必須指定磁盤上的文件作為附件內(nèi)容,而且文件類型必須是支持的线脚。attachment實(shí)例創(chuàng)建完成后赐稽,將其賦值給notification對(duì)象的attachments
屬性叫榕。(對(duì)于遠(yuǎn)程通知,這些步驟需要通過你自己實(shí)現(xiàn)的service extension來完成)姊舵。
系統(tǒng)會(huì)先驗(yàn)證附件翠霍,然后才將相應(yīng)的通知加入到發(fā)送隊(duì)列中。如果附件是損壞的蠢莺、無效的寒匙,或者類型不支持,那么通知請(qǐng)求不會(huì)被列入發(fā)送計(jì)劃中躏将。附件一旦驗(yàn)證通過锄弱,它被移到attachment data store中以保證它們能夠被相應(yīng)的進(jìn)程存取。如果附件位于應(yīng)用bundle中祸憋,那么系統(tǒng)會(huì)使用復(fù)制代替移動(dòng)会宪。
要獲取一個(gè)已經(jīng)存在的Attachment對(duì)象的內(nèi)容,必須使用UNUserNotificationCenter中的getDataForAttachment:withCompletionHandler: 和getReadFileHandleForAttachment:withCompletionHandler:方法蚯窥。
支持的文件類型
下表中列出了可以用來作為附件的文件類型和每種類型允許的最大尺寸掸鹅。圖片文件可以是單個(gè)靜態(tài)圖片也可以是用于播放動(dòng)畫的圖片序列
附件 | 支持類型 | 附件最大尺寸 |
---|---|---|
Audio |
kUTTypeWaveformAudio kUTTypeMP3 kUTTypeMPEG4Audio kUTTypeAudioInterchangeFileFormat |
** 5MB** |
Image |
kUTTypeJPEG kUTTypeGIF kUTTypePNG |
10MB |
Movie |
kUTTypeMPEG kUTTypeMPEG2Video kUTTypeMPEG4 kUTTypeAVIMovie |
50MB |
關(guān)于如何展示圖片或影片的縮略圖有一些選項(xiàng)
-
UNNotificationAttachmentOptionsThumbnailClippingRectKey
選項(xiàng)用來基于原始圖片的指定矩形區(qū)域創(chuàng)建縮略圖 - 對(duì)于動(dòng)圖和電影,用UNNotificationAttachmentOptionsThumbnailTimeKey
選項(xiàng)去選擇哪個(gè)frame給供縮略圖使用拦赠。
分配給附件的存儲(chǔ)空間的數(shù)量由每個(gè)app限制巍沙。如果要?jiǎng)h除附件,那么就要使用UNUserNotificationCenter
類的方法直接刪除包含該附件的通知請(qǐng)求(notification requests)荷鼠。
Symbols
||
|---|---|
|創(chuàng)建附件 | +attachmentWithIdentifier:URL:options:error: 通過指定的文件和選項(xiàng)創(chuàng)建附件實(shí)例
|
獲取附件內(nèi)容 | identifier 附件id
URL 附件對(duì)象所包含文件的URL
type 附件UTI類型
|常量|Attachment Attributes 描述附件信息的一些常量|