Skip to content

Commit

Permalink
iOS test app, native-view, gmaps, and fs plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
breautek committed Nov 21, 2024
1 parent ae3cb06 commit 21b01d1
Show file tree
Hide file tree
Showing 21 changed files with 317 additions and 338 deletions.
29 changes: 29 additions & 0 deletions android/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

# Fuse Android

This is the Android Fuse module, providing the platform implementation for the Fuse framework on Android devices and simulators.

## Checking out the code

This module uses git submodules, clone via:

```
git clone https://github.com/btfuse/fuse.git --recurse-submodules
```

## Building

To build the AAR, run `./build.sh`. Otherwise, open the `android` in Android Studio and build the `fuse` module.

## Testing

Run `./test.sh` which will launch tests for all supported Android versions.

Alternatively, `test.sh` script also accepts the following arguments

|Command|Description|
|---|---|
|`./test.sh <API_LEVEL>`|Test against a specific API level using Gradle Managed Devices. Only API 28+ are supported.|
|`./test.sh local`|Runs local unit tests only. No android simulator or device needed, but most tests required an android environment.|
|`./test.sh device`|Use a connected device or simulator to run the tests|

2 changes: 2 additions & 0 deletions ios/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
/BTFuse.podspec
/BTFuseTestTools.podspec
/Pods
/third_party
!/third_party/README
23 changes: 20 additions & 3 deletions ios/BTFuse.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

74 changes: 20 additions & 54 deletions ios/BTFuse/BTFuse.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
objects = {

/* Begin PBXBuildFile section */
4623189FF7D4E90BE001140D /* Pods_BTFuse.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F8F21041C403672D61CB71B /* Pods_BTFuse.framework */; };
940127172AD78F6200F76331 /* BTFuseJSONSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 940127162AD78F6200F76331 /* BTFuseJSONSerializer.h */; settings = {ATTRIBUTES = (Public, ); }; };
940127192AD78FFD00F76331 /* BTFuseJSONSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 940127182AD78FFD00F76331 /* BTFuseJSONSerializer.m */; };
9418629B2A99564600CCFEE1 /* BTFuseAPIRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9418629A2A99564600CCFEE1 /* BTFuseAPIRouter.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand All @@ -31,7 +30,6 @@
94552C632ACC367600DAE0F4 /* BTFuseLoggerLevel.m in Sources */ = {isa = PBXBuildFile; fileRef = 94552C622ACC367600DAE0F4 /* BTFuseLoggerLevel.m */; };
94552C652ACCD47C00DAE0F4 /* BTFuseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 94552C642ACCD47C00DAE0F4 /* BTFuseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
94552C672ACCD67100DAE0F4 /* BTFuseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 94552C662ACCD67100DAE0F4 /* BTFuseLogger.m */; };
945A05982AE5838D0042C88A /* BTFuseTestTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 945A05972AE5838D0042C88A /* BTFuseTestTools.framework */; };
94668BEC2B202EDA00976FC1 /* BTFuseWebviewNavigationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 94668BEB2B202EDA00976FC1 /* BTFuseWebviewNavigationDelegate.h */; };
94668BEE2B202F3200976FC1 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94668BED2B202F3200976FC1 /* WebKit.framework */; };
94668BF02B202F4900976FC1 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94668BEF2B202F4900976FC1 /* UIKit.framework */; };
Expand All @@ -53,7 +51,6 @@
9489EBBA2AA65A990087424D /* BTFuseLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 9489EBB92AA65A990087424D /* BTFuseLocalization.m */; };
949DEED72C45FB1C00DEDD84 /* BTFuseStreamReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 949DEED62C45FB1C00DEDD84 /* BTFuseStreamReader.h */; settings = {ATTRIBUTES = (Public, ); }; };
949DEED92C45FB6C00DEDD84 /* BTFuseStreamReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 949DEED82C45FB6C00DEDD84 /* BTFuseStreamReader.m */; };
949DEEF12C496FAC00DEDD84 /* OpenSSL.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 949DEEF02C496FAC00DEDD84 /* OpenSSL.xcframework */; };
94A886B72A714F6D0098530D /* BTFuse.h in Headers */ = {isa = PBXBuildFile; fileRef = 94A8865C2A702C6C0098530D /* BTFuse.h */; settings = {ATTRIBUTES = (Public, ); }; };
94A886B82A714F6D0098530D /* BTFuseContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 94A886632A702D240098530D /* BTFuseContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
94A886B92A714F6D0098530D /* BTFuseSchemeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 94A886682A702F020098530D /* BTFuseSchemeHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand All @@ -73,6 +70,8 @@
94A928572B1A729000AAC44A /* BTFuseIDGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 94A928562B1A729000AAC44A /* BTFuseIDGenerator.m */; };
94B0A68F2AB776DC008C291A /* BTFuseAPIServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 94B0A68E2AB776DC008C291A /* BTFuseAPIServer.h */; };
94B0A6932AB77790008C291A /* BTFuseAPIServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 94B0A6922AB77790008C291A /* BTFuseAPIServer.m */; };
94B3ABEB2CCECBDF00BD34E2 /* OpenSSL.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94B3ABEA2CCECBDF00BD34E2 /* OpenSSL.xcframework */; };
94B3ABEC2CCECBDF00BD34E2 /* OpenSSL.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 94B3ABEA2CCECBDF00BD34E2 /* OpenSSL.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
94B7A9CF2AC89E39003D294D /* BTFuseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 94B7A9CE2AC89E39003D294D /* BTFuseTests.m */; };
94B7A9D02AC89E39003D294D /* BTFuse.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94A886C22A714F6D0098530D /* BTFuse.framework */; platformFilter = ios; };
94C3AF282B6867B8006AD040 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 94C3AF272B6867B8006AD040 /* LICENSE */; };
Expand All @@ -89,8 +88,21 @@
};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
94B3ABED2CCECBE000BD34E2 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
94B3ABEC2CCECBDF00BD34E2 /* OpenSSL.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
3F8F21041C403672D61CB71B /* Pods_BTFuse.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_BTFuse.framework; sourceTree = BUILT_PRODUCTS_DIR; };
940127162AD78F6200F76331 /* BTFuseJSONSerializer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseJSONSerializer.h; sourceTree = "<group>"; };
940127182AD78FFD00F76331 /* BTFuseJSONSerializer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseJSONSerializer.m; sourceTree = "<group>"; };
9418629A2A99564600CCFEE1 /* BTFuseAPIRouter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseAPIRouter.h; sourceTree = "<group>"; };
Expand All @@ -115,8 +127,6 @@
94552C622ACC367600DAE0F4 /* BTFuseLoggerLevel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseLoggerLevel.m; sourceTree = "<group>"; };
94552C642ACCD47C00DAE0F4 /* BTFuseLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseLogger.h; sourceTree = "<group>"; };
94552C662ACCD67100DAE0F4 /* BTFuseLogger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseLogger.m; sourceTree = "<group>"; };
945A05972AE5838D0042C88A /* BTFuseTestTools.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BTFuseTestTools.framework; sourceTree = BUILT_PRODUCTS_DIR; };
94668BD22B1EBBB300976FC1 /* libopenssl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libopenssl.a; sourceTree = BUILT_PRODUCTS_DIR; };
94668BEB2B202EDA00976FC1 /* BTFuseWebviewNavigationDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseWebviewNavigationDelegate.h; sourceTree = "<group>"; };
94668BED2B202F3200976FC1 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
94668BEF2B202F4900976FC1 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
Expand All @@ -138,7 +148,6 @@
9489EBB92AA65A990087424D /* BTFuseLocalization.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseLocalization.m; sourceTree = "<group>"; };
949DEED62C45FB1C00DEDD84 /* BTFuseStreamReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseStreamReader.h; sourceTree = "<group>"; };
949DEED82C45FB6C00DEDD84 /* BTFuseStreamReader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseStreamReader.m; sourceTree = "<group>"; };
949DEEF02C496FAC00DEDD84 /* OpenSSL.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = ../Pods/OpenSSL/OpenSSL.xcframework; sourceTree = "<group>"; };
949DEEF52C4970FF00DEDD84 /* BTFuse.debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = BTFuse.debug.xcconfig; path = configs/BTFuse.debug.xcconfig; sourceTree = "<group>"; };
94A8865C2A702C6C0098530D /* BTFuse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuse.h; sourceTree = "<group>"; };
94A886632A702D240098530D /* BTFuseContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseContext.h; sourceTree = "<group>"; };
Expand All @@ -160,26 +169,24 @@
94A928562B1A729000AAC44A /* BTFuseIDGenerator.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseIDGenerator.m; sourceTree = "<group>"; };
94B0A68E2AB776DC008C291A /* BTFuseAPIServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTFuseAPIServer.h; sourceTree = "<group>"; };
94B0A6922AB77790008C291A /* BTFuseAPIServer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseAPIServer.m; sourceTree = "<group>"; };
94B3ABEA2CCECBDF00BD34E2 /* OpenSSL.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = /Users/norman/development/breautek/fuse/ios/third_party/com.breautek.btfuse.third_party/../openssl/OpenSSL.xcframework; sourceTree = "<absolute>"; };
94B7A9CC2AC89E39003D294D /* BTFuseTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BTFuseTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
94B7A9CE2AC89E39003D294D /* BTFuseTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BTFuseTests.m; sourceTree = "<group>"; };
94C3AF272B6867B8006AD040 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
94DF9FB62B293C9C00757EA7 /* UniformTypeIdentifiers.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UniformTypeIdentifiers.framework; path = System/Library/Frameworks/UniformTypeIdentifiers.framework; sourceTree = SDKROOT; };
C0D504787CFDCC13C7D8462D /* Pods-BTFuse.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BTFuse.release.xcconfig"; path = "Target Support Files/Pods-BTFuse/Pods-BTFuse.release.xcconfig"; sourceTree = "<group>"; };
D2524D348AB6B72B049BC41D /* Pods-BTFuse.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BTFuse.debug.xcconfig"; path = "Target Support Files/Pods-BTFuse/Pods-BTFuse.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
94A886BD2A714F6D0098530D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
94B3ABEB2CCECBDF00BD34E2 /* OpenSSL.xcframework in Frameworks */,
94DF9FB72B293C9C00757EA7 /* UniformTypeIdentifiers.framework in Frameworks */,
94668BF02B202F4900976FC1 /* UIKit.framework in Frameworks */,
949DEEF12C496FAC00DEDD84 /* OpenSSL.xcframework in Frameworks */,
94668BEE2B202F3200976FC1 /* WebKit.framework in Frameworks */,
9443F0BB2B1BCEE10056B054 /* Security.framework in Frameworks */,
9435AEE02B0995AC00C1140A /* Network.framework in Frameworks */,
4623189FF7D4E90BE001140D /* Pods_BTFuse.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -188,24 +195,13 @@
buildActionMask = 2147483647;
files = (
94B7A9D02AC89E39003D294D /* BTFuse.framework in Frameworks */,
945A05982AE5838D0042C88A /* BTFuseTestTools.framework in Frameworks */,
94668C002B22CC1800976FC1 /* libecho.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
1F90CC1D6A769DDF9C55C4B5 /* Pods */ = {
isa = PBXGroup;
children = (
D2524D348AB6B72B049BC41D /* Pods-BTFuse.debug.xcconfig */,
C0D504787CFDCC13C7D8462D /* Pods-BTFuse.release.xcconfig */,
);
name = Pods;
path = ../Pods;
sourceTree = "<group>";
};
94552C592ACB349A00DAE0F4 /* configurations */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -252,7 +248,6 @@
94B7A9CD2AC89E39003D294D /* BTFuseTests */,
94A8865A2A702C6C0098530D /* Products */,
B09295BDA9DD81FE38C25D6F /* Frameworks */,
1F90CC1D6A769DDF9C55C4B5 /* Pods */,
);
sourceTree = "<group>";
};
Expand Down Expand Up @@ -369,16 +364,13 @@
B09295BDA9DD81FE38C25D6F /* Frameworks */ = {
isa = PBXGroup;
children = (
949DEEF02C496FAC00DEDD84 /* OpenSSL.xcframework */,
94B3ABEA2CCECBDF00BD34E2 /* OpenSSL.xcframework */,
94DF9FB62B293C9C00757EA7 /* UniformTypeIdentifiers.framework */,
94668BFF2B22CC1800976FC1 /* libecho.a */,
94668BEF2B202F4900976FC1 /* UIKit.framework */,
94668BED2B202F3200976FC1 /* WebKit.framework */,
94668BD22B1EBBB300976FC1 /* libopenssl.a */,
9443F0BA2B1BCEE10056B054 /* Security.framework */,
9435AEDF2B0995AC00C1140A /* Network.framework */,
945A05972AE5838D0042C88A /* BTFuseTestTools.framework */,
3F8F21041C403672D61CB71B /* Pods_BTFuse.framework */,
);
name = Frameworks;
sourceTree = "<group>";
Expand Down Expand Up @@ -428,11 +420,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 94A886BF2A714F6D0098530D /* Build configuration list for PBXNativeTarget "BTFuse" */;
buildPhases = (
86DD15681D11060B0F30F338 /* [CP] Check Pods Manifest.lock */,
94A886B62A714F6D0098530D /* Headers */,
94A886BA2A714F6D0098530D /* Sources */,
94A886BD2A714F6D0098530D /* Frameworks */,
94A886BE2A714F6D0098530D /* Resources */,
94B3ABED2CCECBE000BD34E2 /* Embed Frameworks */,
);
buildRules = (
);
Expand Down Expand Up @@ -517,31 +509,6 @@
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
86DD15681D11060B0F30F338 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-BTFuse-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
94A886BA2A714F6D0098530D /* Sources */ = {
isa = PBXSourcesBuildPhase;
Expand Down Expand Up @@ -737,7 +704,6 @@
};
94A886C02A714F6D0098530D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D2524D348AB6B72B049BC41D /* Pods-BTFuse.debug.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
Expand Down
14 changes: 0 additions & 14 deletions ios/Podfile

This file was deleted.

16 changes: 0 additions & 16 deletions ios/Podfile.lock

This file was deleted.

2 changes: 1 addition & 1 deletion ios/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is the iOS Fuse module, providing the platform implementation for the Fuse
This module uses git submodules, clone via:

```
git clone https://github.com/btfuse/fuse-ios.git --recurse-submodules
git clone https://github.com/btfuse/fuse.git --recurse-submodules
```

## Building
Expand Down
50 changes: 50 additions & 0 deletions ios/fetch_deps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/bin/bash

# Copyright 2024 Breautek

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

source ../build-tools/DirectoryTools.sh

mkdir -p third_party

OPENSSL_VERSION="3.2.0-fuse-2"
GOOGLE_MAPS_VERSION="9.1.1"

cd third_party

rm -rf google-maps
mkdir -p google-maps
spushd google-maps
wget https://dl.google.com/geosdk/swiftpm/$GOOGLE_MAPS_VERSION/GoogleMaps_3p.xcframework.zip
wget https://dl.google.com/geosdk/swiftpm/$GOOGLE_MAPS_VERSION/GoogleMapsBase_3p.xcframework.zip
wget https://dl.google.com/geosdk/swiftpm/$GOOGLE_MAPS_VERSION/GoogleMapsCore_3p.xcframework.zip
wget https://dl.google.com/geosdk/swiftpm/$GOOGLE_MAPS_VERSION/GoogleMapsResources.zip

unzip GoogleMaps_3p.xcframework.zip
unzip GoogleMapsBase_3p.xcframework.zip
unzip GoogleMapsCore_3p.xcframework.zip
unzip GoogleMapsResource.zip

rm -f *.zip
spopd

rm -rf openssl
mkdir -p openssl
spushd openssl
wget https://github.com/btfuse/openssl/releases/download/$OPENSSL_VERSION/OpenSSL.xcframework.zip

unzip OpenSSL.xcframework.zip

rm -f *.zip
spopd
Loading

0 comments on commit 21b01d1

Please sign in to comment.