Skip to content

Commit 1b310d2

Browse files
authored
chore(release): 2.0.0
2 parents e30c179 + 78c8f2a commit 1b310d2

31 files changed

+991
-236
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Package build & test
2+
3+
on:
4+
push:
5+
branches: [ "main", "develop" ]
6+
pull_request:
7+
branches: [ "main", "develop" ]
8+
9+
jobs:
10+
build:
11+
name: Build and Test SecurityToolkit scheme using any available iPhone simulator
12+
runs-on: macos-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
- name: Set Default Scheme
18+
run: |
19+
default="SecurityToolkit"
20+
echo $default | cat >default
21+
echo Using default scheme: $default
22+
- name: Build
23+
env:
24+
scheme: ${{ 'default' }}
25+
platform: ${{ 'iOS Simulator' }}
26+
run: |
27+
# xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959)
28+
device=`xcrun xctrace list devices 2>&1 | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
29+
if [ $scheme = default ]; then scheme=$(cat default); fi
30+
xcodebuild build-for-testing -scheme "$scheme" -destination "platform=$platform,name=$device"
31+
- name: Test
32+
env:
33+
scheme: ${{ 'default' }}
34+
platform: ${{ 'iOS Simulator' }}
35+
run: |
36+
# xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959)
37+
device=`xcrun xctrace list devices 2>&1 | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}' | sed -e "s/ Simulator$//"`
38+
if [ $scheme = default ]; then scheme=$(cat default); fi
39+
xcodebuild test -scheme "$scheme" -destination "platform=$platform,name=$device"
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1620"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "SecurityToolkit"
19+
BuildableName = "SecurityToolkit"
20+
BlueprintName = "SecurityToolkit"
21+
ReferencedContainer = "container:">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
shouldAutocreateTestPlan = "YES">
32+
<Testables>
33+
<TestableReference
34+
skipped = "NO">
35+
<BuildableReference
36+
BuildableIdentifier = "primary"
37+
BlueprintIdentifier = "SecurityToolkitTests"
38+
BuildableName = "SecurityToolkitTests"
39+
BlueprintName = "SecurityToolkitTests"
40+
ReferencedContainer = "container:">
41+
</BuildableReference>
42+
</TestableReference>
43+
</Testables>
44+
</TestAction>
45+
<LaunchAction
46+
buildConfiguration = "Debug"
47+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
48+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
49+
launchStyle = "0"
50+
useCustomWorkingDirectory = "NO"
51+
ignoresPersistentStateOnLaunch = "NO"
52+
debugDocumentVersioning = "YES"
53+
debugServiceExtension = "internal"
54+
allowLocationSimulation = "YES">
55+
</LaunchAction>
56+
<ProfileAction
57+
buildConfiguration = "Release"
58+
shouldUseLaunchSchemeArgsEnv = "YES"
59+
savedToolIdentifier = ""
60+
useCustomWorkingDirectory = "NO"
61+
debugDocumentVersioning = "YES">
62+
<MacroExpansion>
63+
<BuildableReference
64+
BuildableIdentifier = "primary"
65+
BlueprintIdentifier = "SecurityToolkit"
66+
BuildableName = "SecurityToolkit"
67+
BlueprintName = "SecurityToolkit"
68+
ReferencedContainer = "container:">
69+
</BuildableReference>
70+
</MacroExpansion>
71+
</ProfileAction>
72+
<AnalyzeAction
73+
buildConfiguration = "Debug">
74+
</AnalyzeAction>
75+
<ArchiveAction
76+
buildConfiguration = "Release"
77+
revealArchiveInOrganizer = "YES">
78+
</ArchiveAction>
79+
</Scheme>

.swiftpm/xcode/xcshareddata/xcschemes/SecurityToolkitExample.xcscheme

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
33
LastUpgradeVersion = "1540"
4-
version = "1.7">
4+
version = "2.1">
55
<BuildAction
66
parallelizeBuildables = "YES"
77
buildImplicitDependencies = "YES"
@@ -21,14 +21,53 @@
2121
ReferencedContainer = "container:SecurityToolkitExample/SecurityToolkitExample.xcodeproj">
2222
</BuildableReference>
2323
</BuildActionEntry>
24+
<BuildActionEntry
25+
buildForTesting = "YES"
26+
buildForRunning = "YES"
27+
buildForProfiling = "YES"
28+
buildForArchiving = "YES"
29+
buildForAnalyzing = "YES">
30+
<TestPlanReference
31+
reference = "container:SecurityToolkitExample/SecurityToolkitExample.xctestplan">
32+
</TestPlanReference>
33+
</BuildActionEntry>
2434
</BuildActionEntries>
2535
</BuildAction>
2636
<TestAction
2737
buildConfiguration = "Debug"
2838
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2939
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30-
shouldUseLaunchSchemeArgsEnv = "YES"
31-
shouldAutocreateTestPlan = "YES">
40+
shouldUseLaunchSchemeArgsEnv = "YES">
41+
<TestPlans>
42+
<TestPlanReference
43+
reference = "container:SecurityToolkitExample/SecurityToolkitExample.xctestplan"
44+
default = "YES">
45+
</TestPlanReference>
46+
</TestPlans>
47+
<Testables>
48+
<TestableReference
49+
skipped = "NO"
50+
parallelizable = "YES">
51+
<BuildableReference
52+
BuildableIdentifier = "primary"
53+
BlueprintIdentifier = "88D9D4D32E71AB2000D85A38"
54+
BuildableName = "SecurityToolkitTests.xctest"
55+
BlueprintName = "SecurityToolkitTests"
56+
ReferencedContainer = "container:SecurityToolkitExample/SecurityToolkitExample.xcodeproj">
57+
</BuildableReference>
58+
</TestableReference>
59+
<TestableReference
60+
skipped = "NO"
61+
parallelizable = "YES">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "881894992E71B2AA00989BA6"
65+
BuildableName = "SecurityToolkitExampleTests.xctest"
66+
BlueprintName = "SecurityToolkitExampleTests"
67+
ReferencedContainer = "container:SecurityToolkitExample/SecurityToolkitExample.xcodeproj">
68+
</BuildableReference>
69+
</TestableReference>
70+
</Testables>
3271
</TestAction>
3372
<LaunchAction
3473
buildConfiguration = "Debug"

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
iOS Mobile Security Toolkit Library Changelog
22
===========================
33

4+
# 2.0.0
5+
* Introduced async API: threatReports
6+
7+
48
# 1.1.1
59
* Fixed podspec deployment
610

CONTRIBUTING.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,6 @@ and reference the old one instead.
5555

5656
## Development
5757

58-
This project contains a private code, not available for public reading or
59-
editing. Please unterstand this measurement to prevent security risks.
60-
Developing new features or fixing bugs can be done in both private and public
61-
parts of this project. You are welcome to participate in public part!
62-
63-
6458
### Setup
6559

6660
Please use the latest Xcode Version. Use the provided example project to test

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2024 Exxeta
1+
Copyright 2025 Exxeta
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of
44
this software and associated documentation files (the “Software”), to deal in

Package.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ let package = Package(
1616
targets: [
1717
.target(
1818
name: "SecurityToolkit"
19-
)
19+
),
20+
.testTarget(
21+
name: "SecurityToolkitTests",
22+
dependencies: ["SecurityToolkit"],
23+
path: "Tests"
24+
)
2025
]
2126
)

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
![License](https://img.shields.io/github/license/EXXETA/Android-Security-Toolkit.svg?style=flat-square)
44
![Release](https://img.shields.io/github/release/EXXETA/Android-Security-Toolkit.svg?style=flat-square)
5+
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FEXXETA%2FiOS-Security-Toolkit%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/EXXETA/iOS-Security-Toolkit)
6+
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FEXXETA%2FiOS-Security-Toolkit%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/EXXETA/iOS-Security-Toolkit)
7+
58

69
<img src="./docs/1.png" width=300 alt="screenshot"/>
710

@@ -35,7 +38,7 @@ Swift Package Manager
3538
### SPM
3639

3740
`.package(url: "https://github.com/EXXETA/iOS-Security-Toolkit.git", from:
38-
"1.1.1")`
41+
"2.0.0")`
3942

4043
## CocoaPods
4144

@@ -64,6 +67,10 @@ Use Async Stream API to get detected threats asynchronously:
6467

6568
- `ThreatDetectionCenter.threats: AsyncStream<Threat>`
6669

70+
## Testing
71+
72+
To run the available tests locally or in the pipeline use `xcodebuild test -scheme SecurityToolkitTests -destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.0'`
73+
6774
## Roadmap
6875

6976
Next features to be implemented:

SecurityToolkit.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'SecurityToolkit'
3-
s.version = '1.1.1'
3+
s.version = '2.0.0'
44
s.summary = 'Simple and easy security threat detector in Swift'
55
s.homepage = 'https://github.com/EXXETA/iOS-Security-Toolkit'
66
s.license = { :type => 'MIT', :file => 'LICENSE.md' }

SecurityToolkit.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)