diff --git a/BVSDK.podspec b/BVSDK.podspec
index cd0a5fb3..05ad806a 100644
--- a/BVSDK.podspec
+++ b/BVSDK.podspec
@@ -9,7 +9,7 @@
Pod::Spec.new do |s|
s.name = "BVSDK"
- s.version = '6.5.3'
+ s.version = '6.5.4'
s.homepage = 'https://developer.bazaarvoice.com'
s.license = { :type => 'Commercial', :text => 'See https://developer.bazaarvoice.com/API_Terms_of_Use' }
s.author = { 'Bazaarvoice' => 'support@bazaarvoice.com' }
diff --git a/BVSDK/Info.plist b/BVSDK/Info.plist
index 8f0d72f6..fc7bae4d 100644
--- a/BVSDK/Info.plist
+++ b/BVSDK/Info.plist
@@ -15,9 +15,9 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 6.5.3
+ 6.5.4
CFBundleVersion
- 6.5.3
+ 6.5.4
LSApplicationCategoryType
NSPrincipalClass
diff --git a/Examples/BVSDKDemo/BVProductReviewContentExtension/Info.plist b/Examples/BVSDKDemo/BVProductReviewContentExtension/Info.plist
index caa464f4..d127c85d 100644
--- a/Examples/BVSDKDemo/BVProductReviewContentExtension/Info.plist
+++ b/Examples/BVSDKDemo/BVProductReviewContentExtension/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
1.0
CFBundleVersion
- 1
+ 44
NSAppTransportSecurity
NSAllowsArbitraryLoads
diff --git a/Examples/BVSDKDemo/BVReviewContentExtension/Info.plist b/Examples/BVSDKDemo/BVReviewContentExtension/Info.plist
index be121907..37f056c2 100644
--- a/Examples/BVSDKDemo/BVReviewContentExtension/Info.plist
+++ b/Examples/BVSDKDemo/BVReviewContentExtension/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
1.1.0
CFBundleVersion
- 37
+ 44
NSAppTransportSecurity
NSAllowsArbitraryLoads
diff --git a/Examples/BVSDKDemo/BVSDKDemo.xcodeproj/project.pbxproj b/Examples/BVSDKDemo/BVSDKDemo.xcodeproj/project.pbxproj
index 6da88a4e..4b9a37ad 100644
--- a/Examples/BVSDKDemo/BVSDKDemo.xcodeproj/project.pbxproj
+++ b/Examples/BVSDKDemo/BVSDKDemo.xcodeproj/project.pbxproj
@@ -2374,7 +2374,7 @@
CODE_SIGN_ENTITLEMENTS = BVSDKDemo/BVSDKDemo.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CURRENT_PROJECT_VERSION = 37;
+ CURRENT_PROJECT_VERSION = 44;
DEVELOPMENT_TEAM = TH9FFAVND4;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -2407,7 +2407,7 @@
CODE_SIGN_ENTITLEMENTS = BVSDKDemo/BVSDKDemo.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CURRENT_PROJECT_VERSION = 37;
+ CURRENT_PROJECT_VERSION = 44;
DEVELOPMENT_TEAM = TH9FFAVND4;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -2467,7 +2467,7 @@
CODE_SIGN_ENTITLEMENTS = "Curations Custom Post Extension/Curations Custom Post Extension.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CURRENT_PROJECT_VERSION = 37;
+ CURRENT_PROJECT_VERSION = 44;
DEVELOPMENT_TEAM = TH9FFAVND4;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "Curations Custom Post Extension/Info.plist";
@@ -2499,7 +2499,7 @@
CODE_SIGN_ENTITLEMENTS = "Curations Custom Post Extension/Curations Custom Post Extension.entitlements";
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CURRENT_PROJECT_VERSION = 37;
+ CURRENT_PROJECT_VERSION = 44;
DEVELOPMENT_TEAM = TH9FFAVND4;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = "Curations Custom Post Extension/Info.plist";
diff --git a/Examples/BVSDKDemo/BVSDKDemo/HomeViewController.swift b/Examples/BVSDKDemo/BVSDKDemo/HomeViewController.swift
index 50c4c5e6..b3698056 100644
--- a/Examples/BVSDKDemo/BVSDKDemo/HomeViewController.swift
+++ b/Examples/BVSDKDemo/BVSDKDemo/HomeViewController.swift
@@ -305,21 +305,32 @@ class HomeViewController: UIViewController, UICollectionViewDataSource, UICollec
if canLoadRecommendations {
loadRecommendations()
}else {
- loadConversations()
+ loadConversations(omitStats: false)
}
}
- func loadConversations() {
+ func loadConversations(omitStats : Bool) {
let req = BVBulkProductRequest().addProductSort(.averageOverallRating, order: .descending)
- .add(.totalReviewCount, filterOperator: .greaterThanOrEqualTo, value: "35")
+ .add(.totalReviewCount, filterOperator: .greaterThanOrEqualTo, value: "10")
.add(.isActive, filterOperator: .equalTo, value: "true")
.add(.isDisabled, filterOperator: .equalTo, value: "false")
- .includeStatistics(.reviews)
+ if (!omitStats){
+ req.includeStatistics(.reviews)
+ }
req.sortIncludedReviews(.rating, order: .descending)
req.load({(response) in
self.doneLoading(response.results)
}){(errs) in
- self.doneLoading(with: errs.first!)
+
+ if ((errs.first?.localizedDescription.lowercased().range(of: "must use non bulk filter value")) != nil &&
+ omitStats == false){
+
+ print("WARNING: The API Key being used does not support the use of bulk requests, so included review statistics will not be included.")
+ self.loadConversations(omitStats: true)
+
+ } else {
+ self.doneLoading(with: errs.first!)
+ }
}
}
diff --git a/Examples/BVSDKDemo/BVSDKDemo/Info.plist b/Examples/BVSDKDemo/BVSDKDemo/Info.plist
index aa154a0a..2e49dc9d 100644
--- a/Examples/BVSDKDemo/BVSDKDemo/Info.plist
+++ b/Examples/BVSDKDemo/BVSDKDemo/Info.plist
@@ -31,7 +31,7 @@
CFBundleVersion
- 37
+ 44
Fabric
APIKey
diff --git a/Examples/BVSDKDemo/BVSDKDemoTests/Info.plist b/Examples/BVSDKDemo/BVSDKDemoTests/Info.plist
index 5609d11f..d25e0c4c 100644
--- a/Examples/BVSDKDemo/BVSDKDemoTests/Info.plist
+++ b/Examples/BVSDKDemo/BVSDKDemoTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 37
+ 44
diff --git a/Examples/BVSDKDemo/Curations Custom Post Extension/Info.plist b/Examples/BVSDKDemo/Curations Custom Post Extension/Info.plist
index d37f8347..f5e4a381 100644
--- a/Examples/BVSDKDemo/Curations Custom Post Extension/Info.plist
+++ b/Examples/BVSDKDemo/Curations Custom Post Extension/Info.plist
@@ -25,7 +25,7 @@
CFBundleSignature
????
CFBundleVersion
- 37
+ 44
NSExtension
NSExtensionAttributes
diff --git a/Examples/BVSDKDemo/Podfile.lock b/Examples/BVSDKDemo/Podfile.lock
index 9c3e474c..2d1d67ba 100644
--- a/Examples/BVSDKDemo/Podfile.lock
+++ b/Examples/BVSDKDemo/Podfile.lock
@@ -5,16 +5,16 @@ PODS:
- Bolts/AppLinks (1.8.4):
- Bolts/Tasks
- Bolts/Tasks (1.8.4)
- - BVSDK/BVCurations (6.5.0):
+ - BVSDK/BVCurations (6.5.3):
- BVSDK/Core
- - BVSDK/BVLocation (6.5.0):
+ - BVSDK/BVLocation (6.5.3):
- BVSDK/Core
- - BVSDK/BVNotifications (6.5.0):
+ - BVSDK/BVNotifications (6.5.3):
- BVSDK/BVLocation
- BVSDK/BVPIN
- - BVSDK/BVPIN (6.5.0):
+ - BVSDK/BVPIN (6.5.3):
- BVSDK/Core
- - BVSDK/Core (6.5.0)
+ - BVSDK/Core (6.5.3)
- Crashlytics (3.8.3):
- Fabric (~> 1.6.3)
- Fabric (1.6.11)
@@ -88,7 +88,7 @@ CHECKOUT OPTIONS:
SPEC CHECKSUMS:
Bolts: 8a7995239dbe724f9cba2248b766d48b7ebdd322
- BVSDK: f71d4466f852ca86901bd703c1cb10b896634dbf
+ BVSDK: 6ece9146d08c9d70f62db4b99c7e1916137ede22
Crashlytics: 2b6dbe138a42395577cfa73dfa1aa7248cadf39e
Fabric: 5911403591946b8228ab1c51d98f1d7137e863c6
FBSDKCoreKit: 894b2b6eda6a4c8c4204e92e59cc355709ef045c
diff --git a/Examples/Conversations/Swift/ConversationsExample/MyReviewTableViewCell.swift b/Examples/Conversations/Swift/ConversationsExample/MyReviewTableViewCell.swift
index 5eac573e..c9abcb1e 100644
--- a/Examples/Conversations/Swift/ConversationsExample/MyReviewTableViewCell.swift
+++ b/Examples/Conversations/Swift/ConversationsExample/MyReviewTableViewCell.swift
@@ -37,7 +37,9 @@ class MyReviewTableViewCell: BVReviewTableViewCell {
// Add any context data values, if present. E.g. Age, Gender, other....
for contextDataValue in (review?.contextDataValues)! {
- titleString?.append("\n\(contextDataValue.dimensionLabel!): \(contextDataValue.valueLabel!)")
+ let value = contextDataValue.valueLabel ?? "Value Not defined"
+ let label = contextDataValue.dimensionLabel ?? "Label Not defined"
+ titleString?.append("\n\(label): \(value)")
}
reviewTitle.text = titleString
@@ -62,7 +64,9 @@ class MyReviewTableViewCell: BVReviewTableViewCell {
// Check and see if this reviewer supplied any of the secondary ratings
for rating : BVSecondaryRating in (review?.secondaryRatings)! {
- secondaryRatingsText += " \(rating.label!)(\(rating.value!)) "
+ let value = rating.value as! NSInteger
+ let label = rating.label ?? "Label Not defined"
+ secondaryRatingsText += " \(label)(\(value)) "
}
secondaryRatingsText += "]"
diff --git a/Examples/Conversations/Swift/Podfile.lock b/Examples/Conversations/Swift/Podfile.lock
index c58b121b..8e143a82 100644
--- a/Examples/Conversations/Swift/Podfile.lock
+++ b/Examples/Conversations/Swift/Podfile.lock
@@ -1,7 +1,7 @@
PODS:
- - BVSDK/BVConversations (6.5.1):
+ - BVSDK/BVConversations (6.5.3):
- BVSDK/Core
- - BVSDK/Core (6.5.1)
+ - BVSDK/Core (6.5.3)
DEPENDENCIES:
- BVSDK/BVConversations (from `../../../`)
@@ -11,7 +11,7 @@ EXTERNAL SOURCES:
:path: "../../../"
SPEC CHECKSUMS:
- BVSDK: 508f05ebe74170687c9b51cede20d42033e502d8
+ BVSDK: 6ece9146d08c9d70f62db4b99c7e1916137ede22
PODFILE CHECKSUM: ff51a28f7873cf9d401e0c25277fa303397c7510
diff --git a/Pod/BVConversations/Submission/Feedback/BVFeedbackSubmission.m b/Pod/BVConversations/Submission/Feedback/BVFeedbackSubmission.m
index fcccddc5..ad35488f 100644
--- a/Pod/BVConversations/Submission/Feedback/BVFeedbackSubmission.m
+++ b/Pod/BVConversations/Submission/Feedback/BVFeedbackSubmission.m
@@ -157,8 +157,6 @@ -(nonnull NSDictionary*)createSubmissionParameters {
parameters[@"userid"] = self.userId;
parameters[@"contentId"] = self.contentId;
- self.contentType = 0;
-
// Set the content type
if (self.contentType == BVFeedbackContentTypeReview){
parameters[@"contentType"] = @"review";
diff --git a/Tests/Tests/ConversationsTests/DisplayTests/ConversationsDisplayTests.swift b/Tests/Tests/ConversationsTests/DisplayTests/ConversationsDisplayTests.swift
index 4ed0260d..3836460b 100644
--- a/Tests/Tests/ConversationsTests/DisplayTests/ConversationsDisplayTests.swift
+++ b/Tests/Tests/ConversationsTests/DisplayTests/ConversationsDisplayTests.swift
@@ -96,8 +96,8 @@ class ConversationsDisplayTests: XCTestCase {
XCTAssertEqual(review.photos.count, 1)
XCTAssertEqual(review.photos.first?.caption, "Etiam malesuada ultricies urna in scelerisque. Sed viverra blandit nibh non egestas. Sed rhoncus, ipsum in vehicula imperdiet, purus lectus sodales erat, eget ornare lacus lectus ac leo. Suspendisse tristique sollicitudin ultricies. Aliquam erat volutpat.")
XCTAssertEqual(review.photos.first?.identifier, "72586")
- XCTAssertEqual(review.photos.first?.sizes?.thumbnailUrl, "https://reviews.apitestcustomer.bazaarvoice.com/bvstaging/5556/72586/photoThumb.jpg?client=APIReadOnlySandbox")
- XCTAssertEqual(review.photos.first?.sizes?.normalUrl, "https://reviews.apitestcustomer.bazaarvoice.com/bvstaging/5556/72586/photo.jpg?client=APIReadOnlySandbox")
+ XCTAssertNotNil(review.photos.first?.sizes?.thumbnailUrl)
+ XCTAssertTrue((review.photos.first?.sizes?.normalUrl?.lowercased().contains("jpg?client=apireadonlysandbox"))!)
XCTAssertEqual(review.contextDataValues.count, 1)
let cdv = review.contextDataValues.first!
diff --git a/Tests/Tests/ConversationsTests/DisplayTests/ReviewDisplayTests.swift b/Tests/Tests/ConversationsTests/DisplayTests/ReviewDisplayTests.swift
index b7c63136..7d7469b0 100644
--- a/Tests/Tests/ConversationsTests/DisplayTests/ReviewDisplayTests.swift
+++ b/Tests/Tests/ConversationsTests/DisplayTests/ReviewDisplayTests.swift
@@ -61,8 +61,8 @@ class ReviewDisplayTests: XCTestCase {
XCTAssertEqual(review.photos.count, 1)
XCTAssertEqual(review.photos.first?.caption, "Etiam malesuada ultricies urna in scelerisque. Sed viverra blandit nibh non egestas. Sed rhoncus, ipsum in vehicula imperdiet, purus lectus sodales erat, eget ornare lacus lectus ac leo. Suspendisse tristique sollicitudin ultricies. Aliquam erat volutpat.")
XCTAssertEqual(review.photos.first?.identifier, "72586")
- XCTAssertEqual(review.photos.first?.sizes?.thumbnailUrl, "https://reviews.apitestcustomer.bazaarvoice.com/bvstaging/5556/72586/photoThumb.jpg?client=APIReadOnlySandbox")
- XCTAssertEqual(review.photos.first?.sizes?.normalUrl, "https://reviews.apitestcustomer.bazaarvoice.com/bvstaging/5556/72586/photo.jpg?client=APIReadOnlySandbox")
+ XCTAssertNotNil(review.photos.first?.sizes?.thumbnailUrl)
+ XCTAssertTrue((review.photos.first?.sizes?.normalUrl?.lowercased().contains("jpg?client=apireadonlysandbox"))!)
XCTAssertEqual(review.contextDataValues.count, 1)
let cdv = review.contextDataValues.first!
@@ -181,8 +181,8 @@ class ReviewDisplayTests: XCTestCase {
XCTAssertEqual(review.photos.count, 1)
XCTAssertEqual(review.photos.first?.caption, "Etiam malesuada ultricies urna in scelerisque. Sed viverra blandit nibh non egestas. Sed rhoncus, ipsum in vehicula imperdiet, purus lectus sodales erat, eget ornare lacus lectus ac leo. Suspendisse tristique sollicitudin ultricies. Aliquam erat volutpat.")
XCTAssertEqual(review.photos.first?.identifier, "72586")
- XCTAssertEqual(review.photos.first?.sizes?.thumbnailUrl, "https://reviews.apitestcustomer.bazaarvoice.com/bvstaging/5556/72586/photoThumb.jpg?client=APIReadOnlySandbox")
- XCTAssertEqual(review.photos.first?.sizes?.normalUrl, "https://reviews.apitestcustomer.bazaarvoice.com/bvstaging/5556/72586/photo.jpg?client=APIReadOnlySandbox")
+ XCTAssertNotNil(review.photos.first?.sizes?.thumbnailUrl)
+ XCTAssertTrue((review.photos.first?.sizes?.normalUrl?.lowercased().contains("jpg?client=apireadonlysandbox"))!)
XCTAssertEqual(review.contextDataValues.count, 1)
let cdv = review.contextDataValues.first!