InboxKit mit CocoaPods einrichten
Verfügbar seit iOS SDK 7.0.40.
InboxKit wird als optionaler Subspec des übergeordneten PushwooshXCFramework-Pods ausgeliefert. Das Haupt-SDK muss bereits integriert sein. Wenn Sie bei Null anfangen, folgen Sie zuerst der Anleitung zur Basisin-Integration.
Den InboxKit-Pod hinzufügen
Anchor link to- Öffnen Sie Ihre
Podfile-Datei und fügen Sie den InboxKit-Subspec zu Ihrem App-Ziel hinzu:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshInboxKit'end- Führen Sie
pod installin Ihrem Projektverzeichnis aus:
pod install- Öffnen Sie die generierte
.xcworkspace-Datei. InboxKit ist nun neben dem Haupt-SDK verknüpft.
Die Inbox anzeigen
Anchor link toFügen Sie den Inbox-Controller zu einem beliebigen Navigationsfluss hinzu. Die Standardkonfiguration reicht aus, um eine funktionierende Inbox mit den drei Standard-Zelltypen zu erhalten:
import PushwooshInboxKit
let inboxVC = PushwooshInboxKitViewController()navigationController?.pushViewController(inboxVC, animated: true)@import PushwooshInboxKit;
PushwooshInboxKitViewController *inboxVC = [PushwooshInboxKitViewController new];[self.navigationController pushViewController:inboxVC animated:YES];Die Inbox anpassen
Anchor link toIn Swift konfigurieren Sie den Controller über den Werttyp PushwooshInboxKitAttributes. In Objective-C verwenden Sie die @objc-freundlichen Setter auf dem Controller – PushwooshInboxKitAttributes ist eine Swift-Struktur und wird nicht überbrückt.
var attributes = PushwooshInboxKitAttributes()attributes.pullToRefreshEnabled = trueattributes.swipeToDeleteEnabled = trueattributes.pinningEnabled = trueattributes.style.unreadBadgeColor = .systemBlueattributes.style.titleFont = .systemFont(ofSize: 17, weight: .semibold)
let inboxVC = PushwooshInboxKitViewController(attributes: attributes)PushwooshInboxKitViewController *inboxVC = [PushwooshInboxKitViewController new];[inboxVC setBackgroundColor:[UIColor systemBackgroundColor]];[inboxVC setEmptyMessage:@"You have no messages yet"];Die Style-Struktur legt alle Farben, Schriftarten, Eckradien und den Datumsformatierer offen, die von den Standardzellen verwendet werden. Jeder Wert ist standardmäßig eine semantische Farbe von Apple, sodass die Inbox automatisch auf den systemweiten Dunkelmodus reagiert.

Zelle mit Beschriftung und einem benutzerdefinierten Thema, das über PushwooshInboxKitAttributes.Style angewendet wurde.
Taps und Aktualisierungen handhaben
Anchor link toKonformieren Sie mit PushwooshInboxKitDelegate, um auf Benutzeraktionen und Aktualisierungsereignisse zu reagieren. Jede Methode hat eine Standardimplementierung, sodass Sie nur das überschreiben, was Sie benötigen:
final class InboxCoordinator: NSObject, PushwooshInboxKitDelegate { func inboxKit(_ vc: PushwooshInboxKitViewController, didSelect message: PWInboxMessageProtocol) -> Bool { // Geben Sie true zurück, damit das SDK die Nachrichten-URL oder Rich Media öffnet. // Geben Sie false zurück, wenn Sie den Tap vollständig selbst behandelt haben (z. B. auf einen benutzerdefinierten Bildschirm weitergeleitet haben). return true }
func inboxKit(_ vc: PushwooshInboxKitViewController, didRefreshWith messages: [PWInboxMessageProtocol], error: Error?) { // Zeigen Sie hier bei Bedarf Ihren eigenen Leer- oder Fehlerzustand an. }}
inboxVC.delegate = inboxCoordinatorDas SDK liefert Massenoperationen als @objc-Methoden auf dem Controller, sodass Sie sie direkt mit einem UIBarButtonItem verbinden können:
let markAll = UIBarButtonItem( image: UIImage(systemName: "checkmark.circle"), style: .plain, target: inboxVC, action: #selector(PushwooshInboxKitViewController.markAllAsRead))let clearRead = UIBarButtonItem( image: UIImage(systemName: "trash"), style: .plain, target: inboxVC, action: #selector(PushwooshInboxKitViewController.clearReadMessages))inboxVC.navigationItem.rightBarButtonItems = [clearRead, markAll]