Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump deployment target to iOS 17 #3796

Merged
merged 3 commits into from
Jan 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MobileSync.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |s|
s.license = { :type => "Salesforce.com Mobile SDK License", :file => "LICENSE.md" }
s.author = { "Kevin Hawkins" => "[email protected]" }

s.platforms = { :ios => "16.0", :visionos => "2.0" }
s.platforms = { :ios => "17.0", :visionos => "2.0" }
s.swift_versions = ['5.0']

s.source = { :git => "https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git",
Expand Down
2 changes: 1 addition & 1 deletion SalesforceAnalytics.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |s|
s.license = { :type => "Salesforce.com Mobile SDK License", :file => "LICENSE.md" }
s.author = { "Bharath Hariharan" => "[email protected]" }

s.platforms = { :ios => "16.0", :visionos => "2.0" }
s.platforms = { :ios => "17.0", :visionos => "2.0" }

s.source = { :git => "https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git",
:tag => "v#{s.version}" }
Expand Down
2 changes: 1 addition & 1 deletion SalesforceSDKCommon.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |s|
s.license = { :type => "Salesforce.com Mobile SDK License", :file => "LICENSE.md" }
s.author = { "Raj Rao" => "[email protected]" }

s.platforms = { :ios => "16.0", :visionos => "2.0" }
s.platforms = { :ios => "17.0", :visionos => "2.0" }
s.swift_versions = ['5.0']

s.source = { :git => "https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git",
Expand Down
2 changes: 1 addition & 1 deletion SalesforceSDKCore.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |s|
s.license = { :type => "Salesforce.com Mobile SDK License", :file => "LICENSE.md" }
s.author = { "Kevin Hawkins" => "[email protected]" }

s.platforms = { :ios => "16.0", :visionos => "2.0" }
s.platforms = { :ios => "17.0", :visionos => "2.0" }
s.swift_versions = ['5.0']

s.source = { :git => "https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git",
Expand Down
2 changes: 1 addition & 1 deletion SmartStore.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |s|
s.license = { :type => "Salesforce.com Mobile SDK License", :file => "LICENSE.md" }
s.author = { "Kevin Hawkins" => "[email protected]" }

s.platforms = { :ios => "16.0", :visionos => "2.0" }
s.platforms = { :ios => "17.0", :visionos => "2.0" }
s.swift_versions = ['5.0']

s.source = { :git => "https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git",
Expand Down
2 changes: 1 addition & 1 deletion configuration/Packaging-Dynamic.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
//
//

IPHONEOS_DEPLOYMENT_TARGET = 16.0
IPHONEOS_DEPLOYMENT_TARGET = 17.0
8 changes: 4 additions & 4 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
#

# Check for iOS SDK minimum version
IOS_MIN_VERSION_NUM=150
IOS_MIN_VERSION_STR="iOS 15.0"
IOS_MIN_VERSION_NUM=170
IOS_MIN_VERSION_STR="iOS 17.0"
ios_ver=`xcodebuild -version -sdk iphoneos | grep SDKVersion:`
if [[ "$ios_ver" == "" ]]
then
Expand All @@ -24,8 +24,8 @@ then
fi

# Check for Xcode minimum version
XCODE_MIN_VERSION=130
XCODE_MIN_VERSION_STR="Xcode 13.0"
XCODE_MIN_VERSION=160
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this and the readme got out of sync with the min version spreadsheet, assuming we want Xcode 16 for 13.0?

XCODE_MIN_VERSION_STR="Xcode 16.0"
xcode_ver=`xcodebuild -version | grep ^Xcode`
if [[ "$xcode_ver" == "" ]]
then
Expand Down
4 changes: 2 additions & 2 deletions libs/MobileSync/MobileSync.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1537,7 +1537,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
XROS_DEPLOYMENT_TARGET = 2.0;
Expand Down Expand Up @@ -1584,7 +1584,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -790,7 +790,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -661,7 +661,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2475,7 +2475,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -2514,7 +2514,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_VERSION = 5.0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ NS_SWIFT_NAME(SalesforceManager)
*/
@property (nonatomic, assign) BOOL isDevSupportEnabled;

/** Use this flag to indicate if the login webview should be inspectable (NB: only applies to iOS 16.4 and above)
/** Use this flag to indicate if the login webview should be inspectable
*/
@property (nonatomic, assign) BOOL isLoginWebviewInspectable;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,9 +330,7 @@ - (WKWebView *)view {
_view.clipsToBounds = YES;
_view.translatesAutoresizingMaskIntoConstraints = NO;
_view.customUserAgent = [SalesforceSDKManager sharedManager].userAgentString(@"");
if (@available(iOS 16.4, *)) {
_view.inspectable = [SalesforceSDKManager sharedManager].isLoginWebviewInspectable;
}
_view.inspectable = [SalesforceSDKManager sharedManager].isLoginWebviewInspectable;
_view.UIDelegate = self;
}
return _view;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,7 @@ - (void)testNilURL {
SFSDKEncryptedURLCache *encryptedURLCache = [[SFSDKEncryptedURLCache alloc] init];
NSString *contentString = @"This is my content";
NSData *contentData = [contentString dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [[NSURL alloc] initWithString:@"bad string -- will create nil URL"];
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 170000
// Starting in iOS 17 `[[NSURL alloc] initWithString:@"bad string -- will create nil URL"]` will encode the characters and return a non-nil URL, use `encodingInvalidCharacters:NO` to recreate the old behavior that returns nil
if (@available(iOS 17.0, *)) {
url = [[NSURL alloc] initWithString:@"bad string -- will create nil URL" encodingInvalidCharacters:NO];
}
#endif
NSURL *url = [[NSURL alloc] initWithString:@"bad string -- will create nil URL" encodingInvalidCharacters:NO];

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSURLResponse *response = [[NSURLResponse alloc] initWithURL:url MIMEType:@"text/plain" expectedContentLength:contentData.length textEncodingName:@"NSUTF8StringEncoding"];
Expand Down
4 changes: 2 additions & 2 deletions libs/SmartStore/SmartStore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1204,7 +1204,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
XROS_DEPLOYMENT_TARGET = 2.0;
Expand Down Expand Up @@ -1252,7 +1252,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
Expand Down
2 changes: 1 addition & 1 deletion mobilesdk_pods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def mobile_sdk_post_install(installer)
# Mobile SDK targets
is_mobile_sdk_target = ['SalesforceAnalytics', 'SalesforceSDKCommon', 'SalesforceSDKCore', 'SmartStore', 'MobileSync', 'SalesforceReact', 'FMDB'].include?(target.name)
if is_mobile_sdk_target
change_deployment_target(target, '16.0')
change_deployment_target(target, '17.0')
end
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -935,7 +935,7 @@
"$(BUILT_PRODUCTS_DIR)/Headers",
"$(OBJROOT)/UninstalledProducts/Headers",
);
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../../external/ThirdPartyDependencies/sqlcipher";
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -992,7 +992,7 @@
"$(BUILT_PRODUCTS_DIR)/Headers",
"$(OBJROOT)/UninstalledProducts/Headers",
);
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../../external/ThirdPartyDependencies/sqlcipher";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -763,7 +763,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ After cloning the repo:

This script pulls the submodule dependencies from GitHub, to finalize setup of the workspace. You can then work with the Mobile SDK by opening `SalesforceMobileSDK.xcworkspace` from Xcode.

The Salesforce Mobile SDK for iOS requires iOS 15.0 or greater. The install.sh script checks for this, and aborts if the configured SDK version is incorrect.
The Salesforce Mobile SDK for iOS requires iOS 17.0 or greater. The install.sh script checks for this, and aborts if the configured SDK version is incorrect.

Introduction
==
Expand Down
Loading