Configurer InboxKit avec CocoaPods
Disponible depuis le SDK iOS 7.0.40.
InboxKit est fourni comme un sous-spec optionnel du pod parapluie PushwooshXCFramework. Le SDK principal doit déjà être intégré ; si vous partez de zéro, suivez d’abord le guide d’intégration de base.
Ajouter le pod InboxKit
Anchor link to- Ouvrez votre
Podfileet ajoutez le sous-spec InboxKit à la cible de votre application :
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshInboxKit'end- Exécutez
pod installdepuis le répertoire de votre projet :
pod install- Ouvrez le fichier
.xcworkspacegénéré. InboxKit est maintenant lié au SDK principal.
Afficher la boîte de réception
Anchor link toAjoutez le contrôleur de la boîte de réception à n’importe quel flux de navigation. La configuration par défaut est suffisante pour obtenir une boîte de réception fonctionnelle avec les trois types de cellules standard :
import PushwooshInboxKit
let inboxVC = PushwooshInboxKitViewController()navigationController?.pushViewController(inboxVC, animated: true)@import PushwooshInboxKit;
PushwooshInboxKitViewController *inboxVC = [PushwooshInboxKitViewController new];[self.navigationController pushViewController:inboxVC animated:YES];Personnaliser la boîte de réception
Anchor link toEn Swift, configurez le contrôleur via le type de valeur PushwooshInboxKitAttributes. En Objective-C, utilisez les setters compatibles @objc sur le contrôleur — PushwooshInboxKitAttributes est une structure Swift et n’est pas pontée.
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"];La structure Style expose toutes les couleurs, polices, rayons d’angle et le formateur de date utilisés par les cellules par défaut. Chaque valeur est une couleur sémantique Apple par défaut, donc la boîte de réception réagit automatiquement au mode sombre du système.

Cellule avec légende et un thème personnalisé appliqué via PushwooshInboxKitAttributes.Style.
Gérer les appuis et les actualisations
Anchor link toConformez-vous à PushwooshInboxKitDelegate pour réagir aux actions de l’utilisateur et aux événements d’actualisation. Chaque méthode a une implémentation par défaut, vous ne surchargez donc que ce dont vous avez besoin :
final class InboxCoordinator: NSObject, PushwooshInboxKitDelegate { func inboxKit(_ vc: PushwooshInboxKitViewController, didSelect message: PWInboxMessageProtocol) -> Bool { // Retournez true pour laisser le SDK ouvrir l'URL du message ou le richmedia. // Retournez false si vous avez entièrement géré l'appui (par ex. routé vers un écran personnalisé). return true }
func inboxKit(_ vc: PushwooshInboxKitViewController, didRefreshWith messages: [PWInboxMessageProtocol], error: Error?) { // Affichez votre propre état vide / d'erreur ici si nécessaire. }}
inboxVC.delegate = inboxCoordinatorLe SDK fournit des opérations en masse en tant que méthodes @objc sur le contrôleur, vous pouvez donc les lier directement à un UIBarButtonItem :
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]