diff --git a/swift/README.md b/swift/README.md
index ade103ec8..56596b8f7 100644
--- a/swift/README.md
+++ b/swift/README.md
@@ -4,7 +4,7 @@
After you have completed the [common prerequisites] you will need the following:
-- [Xcode](https://developer.apple.com/xcode/) 15 or greater
+- [Xcode](https://developer.apple.com/xcode/) 16 or greater (Required for Swift 6)
## Permissions (already configured)
@@ -13,7 +13,7 @@ After you have completed the [common prerequisites] you will need the following:
## Documentation
- [Swift Install Guide](https://docs.ditto.live/install-guides/swift)
-- [Swift API Reference](https://software.ditto.live/cocoa/DittoSwift/4.8.2/api-reference/)
+- [Swift API Reference](https://software.ditto.live/cocoa/DittoSwift/5.0.0/api-reference/documentation/dittoswift/)
- [Swift Release Notes](https://docs.ditto.live/release-notes/swift)
[common prerequisites]: https://github.com/getditto/quickstart#common-prerequisites
@@ -22,8 +22,8 @@ After you have completed the [common prerequisites] you will need the following:
Assuming you have Xcode and other prerequisites installed, you can build and run the app by following these steps:
-1. Create an application at . Make note of the app ID and online playground token.
-2. Copy the `.env.sample` file at the top level of the `quickstart` repo to `.env` and add your App ID , Online playground Token, Auth URL, and Websocket URL.
+1. Create an application at . Make note of the Database ID and Online Playground Token.
+2. Copy the `.env.sample` file at the top level of the `quickstart` repo to `.env` and add your Database ID (used to be called App ID), Online Playground Token, and Auth URL.
3. Launch Xcode and open the `quickstart/swift/Tasks.xcodeproj` project.
4. Navigate to the project **Signing & Capabilities** tab and modify the **Team** and **Bundle Identifier** settings to your Apple developer account credentials to provision building to your device.
5. In Xcode, select a connected iOS device or iOS Simulator as the destination.
diff --git a/swift/Tasks.xcodeproj/project.pbxproj b/swift/Tasks.xcodeproj/project.pbxproj
index 5aebefe8e..fb929289c 100644
--- a/swift/Tasks.xcodeproj/project.pbxproj
+++ b/swift/Tasks.xcodeproj/project.pbxproj
@@ -7,8 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
- 4170A8552CED346F00043F5A /* DittoObjC in Frameworks */ = {isa = PBXBuildFile; productRef = 4170A8542CED346F00043F5A /* DittoObjC */; };
- 4170A8572CED346F00043F5A /* DittoSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 4170A8562CED346F00043F5A /* DittoSwift */; };
+ 0D19ADAF2F319E1B004D866D /* DittoSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0D19ADAE2F319E1B004D866D /* DittoSwift */; };
ABCDEF012345678900000001 /* TasksUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABCDEF012345678900000002 /* TasksUITests.swift */; };
/* End PBXBuildFile section */
@@ -55,8 +54,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 4170A8552CED346F00043F5A /* DittoObjC in Frameworks */,
- 4170A8572CED346F00043F5A /* DittoSwift in Frameworks */,
+ 0D19ADAF2F319E1B004D866D /* DittoSwift in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -70,11 +68,19 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 0D40BBA52F2AAE8A006A72A4 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
41F869812CECF42500DC7268 = {
isa = PBXGroup;
children = (
41F8698C2CECF42500DC7268 /* Tasks */,
ABCDEF012345678900000005 /* TasksUITests */,
+ 0D40BBA52F2AAE8A006A72A4 /* Frameworks */,
41F8698B2CECF42500DC7268 /* Products */,
);
sourceTree = "";
@@ -118,8 +124,7 @@
);
name = Tasks;
packageProductDependencies = (
- 4170A8542CED346F00043F5A /* DittoObjC */,
- 4170A8562CED346F00043F5A /* DittoSwift */,
+ 0D19ADAE2F319E1B004D866D /* DittoSwift */,
);
productName = Tasks;
productReference = 41F8698A2CECF42500DC7268 /* Tasks.app */;
@@ -151,7 +156,7 @@
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1610;
- LastUpgradeCheck = 1610;
+ LastUpgradeCheck = 2620;
TargetAttributes = {
41F869892CECF42500DC7268 = {
CreatedOnToolsVersion = 16.1;
@@ -168,7 +173,7 @@
mainGroup = 41F869812CECF42500DC7268;
minimizedProjectReferenceProxies = 1;
packageReferences = (
- 4170A8532CED346F00043F5A /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */,
+ 0D19ADAD2F319E10004D866D /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 41F8698B2CECF42500DC7268 /* Products */;
@@ -326,6 +331,7 @@
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
@@ -382,6 +388,7 @@
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
};
@@ -400,6 +407,7 @@
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Tasks/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Ditto Tasks";
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Uses Bluetooth to connect and sync with nearby devices";
INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "Uses Bluetooth to connect and sync with nearby devices";
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Uses WiFi to connect and sync with nearby devices";
@@ -435,6 +443,7 @@
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Tasks/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Ditto Tasks";
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "Uses Bluetooth to connect and sync with nearby devices";
INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "Uses Bluetooth to connect and sync with nearby devices";
INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Uses WiFi to connect and sync with nearby devices";
@@ -526,25 +535,20 @@
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
- 4170A8532CED346F00043F5A /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */ = {
+ 0D19ADAD2F319E10004D866D /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/getditto/DittoSwiftPackage";
requirement = {
- kind = upToNextMajorVersion;
- minimumVersion = 4.14.3;
+ kind = upToNextMinorVersion;
+ minimumVersion = 5.0.0;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
- 4170A8542CED346F00043F5A /* DittoObjC */ = {
- isa = XCSwiftPackageProductDependency;
- package = 4170A8532CED346F00043F5A /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */;
- productName = DittoObjC;
- };
- 4170A8562CED346F00043F5A /* DittoSwift */ = {
+ 0D19ADAE2F319E1B004D866D /* DittoSwift */ = {
isa = XCSwiftPackageProductDependency;
- package = 4170A8532CED346F00043F5A /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */;
+ package = 0D19ADAD2F319E10004D866D /* XCRemoteSwiftPackageReference "DittoSwiftPackage" */;
productName = DittoSwift;
};
/* End XCSwiftPackageProductDependency section */
diff --git a/swift/Tasks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/swift/Tasks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
index 389c720ed..9a067e4ab 100644
--- a/swift/Tasks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/swift/Tasks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -6,8 +6,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/getditto/DittoSwiftPackage",
"state" : {
- "revision" : "61b203cffc6a85c1c0d0987d1833d62eca7c549c",
- "version" : "4.14.3"
+ "revision" : "60091ac1da98c96ffa0ed7c566650e7e08d01c74",
+ "version" : "5.0.0"
}
}
],
diff --git a/swift/Tasks.xcodeproj/xcshareddata/xcschemes/Tasks.xcscheme b/swift/Tasks.xcodeproj/xcshareddata/xcschemes/Tasks.xcscheme
index bfcc99fa5..43aab3fa6 100644
--- a/swift/Tasks.xcodeproj/xcshareddata/xcschemes/Tasks.xcscheme
+++ b/swift/Tasks.xcodeproj/xcshareddata/xcschemes/Tasks.xcscheme
@@ -1,6 +1,6 @@