From 40273488cf7e3e9a31d35f64461356e7862b5516 Mon Sep 17 00:00:00 2001 From: Sumeru Chatterjee Date: Thu, 11 Jun 2026 12:11:14 +0100 Subject: [PATCH 1/2] SDK-502 Bundle UI component XIBs in CocoaPods resource bundle IterableEmbeddedView.xib and SampleInboxCell.xib moved out of swift-sdk/Resources/ in 6.5.9, but the podspec resource_bundles glob still only covered Resources/. CocoaPods builds shipped IterableSDKResources without the embedded-view nib, so loadViewFromNib() crashed when an out-of-the-box embedded message was displayed. Add swift-sdk/ui-components/**/*.xib to the IterableSDKResources bundle. Bundle name is unchanged, so the loader and its legacy fallback stay as they are. SPM already bundled these XIBs and is untouched. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 2 ++ Iterable-iOS-SDK.podspec | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc4b789a3..ee0342437 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Fixed +- Fixed a crash showing out-of-the-box embedded messages on CocoaPods. `IterableEmbeddedView.xib` moved out of `Resources/` in 6.5.9, but the podspec only bundled `Resources/`, so the nib was missing from the CocoaPods resource bundle and `loadViewFromNib()` crashed. The podspec now bundles the UI component XIBs too. SPM was not affected. ## [6.7.2] ### Added diff --git a/Iterable-iOS-SDK.podspec b/Iterable-iOS-SDK.podspec index aaa12ce12..8796f85d3 100644 --- a/Iterable-iOS-SDK.podspec +++ b/Iterable-iOS-SDK.podspec @@ -26,7 +26,12 @@ Pod::Spec.new do |s| s.swift_version = '5.3' - s.resource_bundles = {'IterableSDKResources' => 'swift-sdk/Resources/**/*.{storyboard,xib,xcassets,xcdatamodeld}' } + s.resource_bundles = { + 'IterableSDKResources' => [ + 'swift-sdk/Resources/**/*.{storyboard,xib,xcassets,xcdatamodeld}', + 'swift-sdk/ui-components/**/*.xib' + ] + } s.header_dir = 'IterableSDK' end From 2d6d71f96d4d751646652be4a148532fe78b2379 Mon Sep 17 00:00:00 2001 From: Sumeru Chatterjee Date: Thu, 11 Jun 2026 16:15:21 +0100 Subject: [PATCH 2/2] SDK-502 Match Resources glob for CocoaPods ui-components resources Widen the ui-components resource glob to {storyboard,xib,xcassets,xcdatamodeld} so it mirrors the Resources/ glob. An xcassets or xcdatamodeld added under ui-components later would otherwise be dropped from the CocoaPods bundle and reintroduce a missing-resource crash. Verified via pod install that the built IterableSDKResources.bundle still ships IterableEmbeddedView.nib and SampleInboxCell.nib. Co-Authored-By: Claude Opus 4.8 (1M context) --- Iterable-iOS-SDK.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Iterable-iOS-SDK.podspec b/Iterable-iOS-SDK.podspec index 8796f85d3..a1fd95ac8 100644 --- a/Iterable-iOS-SDK.podspec +++ b/Iterable-iOS-SDK.podspec @@ -29,7 +29,7 @@ Pod::Spec.new do |s| s.resource_bundles = { 'IterableSDKResources' => [ 'swift-sdk/Resources/**/*.{storyboard,xib,xcassets,xcdatamodeld}', - 'swift-sdk/ui-components/**/*.xib' + 'swift-sdk/ui-components/**/*.{storyboard,xib,xcassets,xcdatamodeld}' ] }