![](/img/trans.png)
[英]How do you create a notification content extension without using a storyboard
[英]How do I create a UNNotificationContentExtension without a Storyboard?
將內容擴展名添加到我的應用的通知處理中。 我可以使用它,但是我想在沒有直接指定情節提要的情況下進行操作。 原因是我希望能夠將其傳遞給我正在開發的第3方框架,以處理呈現通知和管理用戶響應。
我嘗試刪除NSExtensionMainStoryboard
條目並添加NSExtensionPrincipalClass
條目,以便可以在代碼中加載視圖。 但是,我的班級沒有被實例化。 這是類的定義:
class NotificationViewController: NSObject, UNNotificationContentExtension {
override init() {
super.init()
print("extension instantiated")
}
func didReceive(_ notification: UNNotification) {
print("notification received")
}
}
這是我的NSExtension條目:
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>UNNotificationExtensionDefaultContentHidden</key>
<true/>
<key>UNNotificationExtensionCategory</key>
<string>Messaging</string>
<key>UNNotificationExtensionInitialContentSizeRatio</key>
<real>1</real>
</dict>
<key>NSExtensionPrincipalClass</key>
<string>NotificationViewController</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.usernotifications.content-extension</string>
</dict>
有人對內容擴展做了此嗎?
根據這個答案 ,我認為您在NSExtensionPrincipalClass
中缺少模塊前綴:
該值應為擴展的名稱空間和主ViewController的類。 例如,如果擴展名為Pretty Notification且類為PrettyNotificationViewController ,則應輸入Pretty_Notification.PrettyNotificationViewController 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.