-
Notifications
You must be signed in to change notification settings - Fork 18
Upgrading
Marko Justinek edited this page Jul 5, 2021
·
20 revisions
Exposed as an open source swift package instead of an XCFramework binary.
MockService.run()
method signature changed. Renamed waitFor
argument into timeout
.
waitFor
is confusing as it might indicate the test will wait for x amount of time before it runs. timeout
is a more appropriate argument name for the implemented behaviour.
// <0.4.x
mockService.run(waitFor: 1) { [unowned self] testCompleted in ... }
// >0.5.0
mockService.run(timeout: 1) { [unowned self] testCompleted in ... }
Dropping Rust dependency. MockServer was moved into a separate project dependency PactSwiftMockServer
and is exposed as a XCFramework in PactSwiftMockServer-Dist
.
This means there is no need to make changes to the build process in the Xcode project settings.
PactSwift 0.4.0 migrated to XCFrameworks.
- Remove the Build Phase that builds the
libpact_mock_server.a
binary using./Scripts/BuildPhases/build-spm-dependency
script. - Remove
$BUILD_DIR/../../SourcePackages/checkouts/..
entry forLibrary Search Paths
in Build Settings. - Optional: Remove
cargo
andrustup
fromPATH
- Delete your
Carthage/Build
folder to remove any existing framework bundles. - Build new XCFrameworks by running
carthage build --use-xcframeworks
. Any other arguments you build with can be provided like normal. - Remove references to the old frameworks in each of your targets:
- Delete references to Carthage frameworks from the target's Frameworks, Libraries, and Embedded Content section and/or its Link Binary with Libraries build phase.
- Delete references to Carthage frameworks from any Copy Files build phases.
- Delete the target's
carthage copy-frameworks
build phase, if present.
- Add references to XCFrameworks in each of your targets:
- For an application test target: In the Build Phases settings tab, in the Link Binary With Libraries build phase, add the
PactSwift.xcframework
from the Carthage/Build folder on disk.
- For an application test target: In the Build Phases settings tab, in the Link Binary With Libraries build phase, add the
- Remove
$(FRAMEWORK_SEARCH_PATHS)
entry forRunpath Search Paths
in Build Settings for your test target. - Remove
$(PROJECT_DIR)/Carthage/Build/iOS
entry forFramework Search Paths
in Build Settings for your test target.