Skip to content
This repository has been archived by the owner on Aug 17, 2023. It is now read-only.

Commit

Permalink
Merge pull request #78 from thunderheadone/release/9.0.0
Browse files Browse the repository at this point in the history
Update from release/9.0.0
  • Loading branch information
th-skhozin authored Dec 17, 2021
2 parents f3a77fd + 38b0c50 commit e01f79a
Show file tree
Hide file tree
Showing 13 changed files with 38 additions and 53 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
#### Version 9.0.0
* [BREAKING] Removed the in-list optimization functionality from the SDK.
* [NEW] Added ability to dynamically switch Workspace configuration while in Admin mode. You can now switch to other spaces easily by simply navigating to the Preview panel in Admin mode and pointing the SDK configuration to another space.
* [NEW] Added ability to send SDK logs to a file while in Admin mode for easy sharing without needing developer support. You can now switch on SDK logging by navigating to the Preview panel in Admin mode. Once you’ve reproduced the issue, return to the same screen to share the logs.

#### Version 8.0.0
* [BREAKING] Added support for using the Thunderhead SDK with Xcode 13.0. The Thunderhead SDK now requires Xcode 13+ (iOS 15). For further details on this [see our readme](https://github.com/thunderheadone/one-sdk-ios#prerequisites).
* [NEW] Added ability to create entities in Admin mode and codelessly send app preference data for a region to ONE based on configuration.
Expand Down
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,12 @@ Complete the following steps to initialize the SDK.

#### Set up the SDK in User mode for App Store builds

To start tracking, capturing, and receiving Optimizations with the Thunderhead SDK in User mode, you must first initialize it with your Thunderhead API parameters. You can find your Thunderhead API parameters on the [Thunderhead ONE website](https://eu2.thunderhead.com/one/help/conversations/how-do-i/mobile/one_integrate_mobile_find_integration_info/) or in [Salesforce Interaction Studio](https://eu2.thunderhead.com/one/help/interaction-studio/how-do-i/mobile/one_integrate_mobile_find_integration_info/).
To start tracking, capturing, and receiving Optimizations with the Thunderhead SDK in User mode, you must first initialize it with your Thunderhead API parameters.
You can find your Thunderhead API parameters on the _API Credentials_ page in Thunderhead ONE or Salesforce Interaction Studio.

For more information on finding these parameters:
* For **Thunderhead ONE** integrations, see [Find the Information required when Integrating ONE with your Mobile Solutions](https://permalink.thunderhead.com/mobile-docs/one-mobile-integration-info)
* For **Salesforce Interaction Studio** integrations, see [Find the Information required when Integrating Interaction Studio with your Mobile App](https://permalink.thunderhead.com/mobile-docs/is-mobile-integration-info)

With your parameters ready at hand, add the following lines to the top of the `didFinishLaunchingWithOptions`:

Expand All @@ -110,7 +115,7 @@ One.startSessionWithSK("ONE-XXXXXXXXXX-1022",
uri:"myAppsNameURI",
apiKey:"f713d44a-8af0-4e79-ba7e-xxxxxxxxxxxxxxxx",
sharedSecret:"bb8bacb2-ffc2-4c52-aaf4-xxxxxxxxxxxxxxxx",
userId:"api@yourCompanyName",
userId:"api@yourCompanyName", // For Interaction Studio integrations use a numeric user id - see https://permalink.thunderhead.com/mobile-docs/is-mobile-integration-info-credentials
adminMode:false,
hostName:"eu2.thunderhead.com")
```
Expand All @@ -122,7 +127,7 @@ Objective-C:
uri:@"myAppsNameURI"
apiKey:@"f713d44a-8af0-4e79-ba7e-xxxxxxxxxxxxxxxx"
sharedSecret:@"bb8bacb2-ffc2-4c52-aaf4-xxxxxxxxxxxxxxxx"
userId:@"api@yourCompanyName"
userId:@"api@yourCompanyName" // For Interaction Studio integrations use a numeric user id - see https://permalink.thunderhead.com/mobile-docs/is-mobile-integration-info-credentials
adminMode:NO
hostName:@"eu2.thunderhead.com"];
```
Expand All @@ -139,7 +144,7 @@ One.startSessionWithSK("ONE-XXXXXXXXXX-1022",
uri:"myAppsNameURI",
apiKey:"f713d44a-8af0-4e79-ba7e-xxxxxxxxxxxxxxxx",
sharedSecret:"bb8bacb2-ffc2-4c52-aaf4-xxxxxxxxxxxxxxxx",
userId:"api@yourCompanyName",
userId:"api@yourCompanyName", // For Interaction Studio integrations use a numeric user id - see https://permalink.thunderhead.com/mobile-docs/is-mobile-integration-info-credentials
adminMode:true,
hostName:"eu2.thunderhead.com")
```
Expand All @@ -151,7 +156,7 @@ Objective-C:
uri:@"myAppsNameURI"
apiKey:@"f713d44a-8af0-4e79-ba7e-xxxxxxxxxxxxxxxx"
sharedSecret:@"bb8bacb2-ffc2-4c52-aaf4-xxxxxxxxxxxxxxxx"
userId:@"api@yourCompanyName"
userId:@"api@yourCompanyName" // For Interaction Studio integrations use a numeric user id - see https://permalink.thunderhead.com/mobile-docs/is-mobile-integration-info-credentials
adminMode:YES
hostName:@"eu2.thunderhead.com"];
```
Expand Down
43 changes: 4 additions & 39 deletions TROUBLESHOOTING-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ The Thunderhead SDK for iOS Troubleshooting Guide for common implementation issu
* [No such module 'Thunderhead' Xcode compile error](#no-such-module--thunderhead--xcode-compile-error)
* [Resolve `Undefined symbols for architecture arm64` compile time error](#resolve--undefined-symbols-for-architecture-arm64--compile-time-error)
* [Archive Error SPM - Found an unexpected Mach-O header code: 0x72613c21](#archive-error-spm---found-an-unexpected-mach-o-header-code--0x72613c21)
- [How to resolve `UITableView` layout display issues](#how-to-resolve--uitableview--layout-display-issues)
* [Resolve `UITableView` layout issue by implementing `tableView:heightForRowAtIndexPath:`](#resolve--uitableview--layout-issue-by-implementing--tableview-heightforrowatindexpath--)
* [Disable the in-list Optimizations feature via App's Info.plist](#disable-the-in-list-optimizations-feature-via-apps-infoplist)
* [Disable `WKWebView` tracking via App's Info.plist](#disable--wkwebview--tracking-via-apps-infoplist)
- [How to resolve `WKWebView` tracking issues](#how-to-resolve-wkwebview-tracking-issues)
* [Disable `WKWebView` tracking via App's Info.plist](#disable-wkwebview-tracking-via-apps-infoplist)
- [Identify why automatic Interaction requests may not be triggered for a View Controller](#identify-why-automatic-interaction-requests-may-not-be-triggered-for-a-view-controller)
* [Ensure you are calling `super` when overriding View Controller lifecycle methods](#ensure-you-are-calling--super--when-overriding-view-controller-lifecycle-methods)
+ [How to identify when this is the issue](#how-to-identify-when-this-is-the-issue)
Expand Down Expand Up @@ -50,42 +48,9 @@ rm -rf "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Frameworks/Thunderhead.framework

- Please note this issue has already been reported to Apple's Swift Team. To track this bug [click here](https://bugs.swift.org/browse/SR-13343).

## How to resolve `UITableView` layout display issues
## How to resolve `WKWebView` tracking issues

If you come across issues with how the layout is rendered in your `UITableView`'s, try the following:

### Resolve `UITableView` layout issue by implementing `tableView:heightForRowAtIndexPath:`
- Implement the `tableView:heightForRowAtIndexPath:` delegate method in the view controller. The method implementation is required to enable the SDK swizzling implementation to call the original implementation in all your view controllers where you are looking to display in-list Optimizations.

Swift:
```swift
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
```

Objective-C:
```objective-c
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
```

### Disable the in-list Optimizations feature via App's Info.plist
- Disable the in-list Optimizations feature by adding the following config to your app’s `Info.plist` file and set `DisableInListOptimization` to `true` (boolean value).

![Thunderhead Config App's Info.plist file](images/ThunderheadConfigInfoPlistEntry.png)

```xml
<key>Thunderhead Config</key>
<dict>
<key>Swizzling Options</key>
<dict>
<key>DisableInListOptimization</key>
<true/>
</dict>
</dict>
```
If you come across issues with `WKWebView` tracking, try the following:

### Disable `WKWebView` tracking via App's Info.plist
- Disable `WKWebView` codeless tracking by adding the following to your app’s Info.plist file and set `DisableWKWebViewTracking` to `YES` (boolean value).
Expand Down
14 changes: 7 additions & 7 deletions Thunderhead.embeddedframework/Thunderhead.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,32 @@
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_i386_x86_64-simulator</string>
<string>ios-arm64_armv7</string>
<key>LibraryPath</key>
<string>Thunderhead.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>i386</string>
<string>x86_64</string>
<string>armv7</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string>
<string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>Thunderhead.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>armv7</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion Thunderhead.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Pod::Spec.new do |s|
s.name = "Thunderhead"
s.version = "8.0.0"
s.version = "9.0.0"
s.summary = "The Thunderhead SDK for iOS, for integrating the ONE Engagement Hub or Interaction Studio into your iOS application."
s.authors = { "Thunderhead ONE" => "onesupport@thunderhead.com"}
s.homepage = "https://github.com/thunderheadone/one-sdk-ios"
Expand Down
9 changes: 9 additions & 0 deletions migration-guides/GITHUB-THUNDERHEAD-9.0.0-MIGRATION-GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Thunderhead iOS SDK Migration Guide

## Thunderhead SDK 8.* to 9.*

Thunderhead SDK 9.+ removes support for in-list optimizations.

### Remove `DisableInListOptimization` in App's Info.plist File

Support for in-list optimizations has been removed starting with Thunderhead SDK 9.0.0. If you're using `DisableInListOptimization` in App's Info.plist file to enable/disable in-list optimizations, you need to remove it from App's Info.plist file.
3 changes: 2 additions & 1 deletion migration-guides/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Thunderhead iOS SDK Migration Guides
* [SDK 5.x.x to 6.0.0](THUNDERHEAD-6.0.0-MIGRATION-GUIDE.md)
* [SDK 6.x.x to 7.0.0](THUNDERHEAD-7.0.0-MIGRATION-GUIDE.md)
* [SDK 6.x.x to 7.0.0](THUNDERHEAD-7.0.0-MIGRATION-GUIDE.md)
* [SDK 8.x.x to 9.0.0](THUNDERHEAD-9.0.0-MIGRATION-GUIDE.md)

0 comments on commit e01f79a

Please sign in to comment.