Skip to content
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
32 changes: 32 additions & 0 deletions .github/workflows/flutter-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,35 @@ jobs:
- name: 🍎 Build iOS app
working-directory: example
run: flutter build ios --release --no-codesign

# Exercises the Swift Package Manager integration path, which the CocoaPods
# `build-ios` job never reads (SPM is opt-in behind a feature flag). Uses a
# throwaway consumer app instead of the example app: a plain consumer never
# gets Flutter's example-only local package override, so it builds regardless
# of the checkout directory name (the example app would require the checkout
# dir to be named `freerasp`). FlutterFramework SwiftPM package requires 3.41.0+.
build-ios-spm:
runs-on: macos-latest
needs: test

steps:
- name: 📚 Git Checkout
uses: actions/checkout@v6

- name: 🐦 Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.44.0
cache: true

- name: 📦 Enable Swift Package Manager
run: flutter config --enable-swift-package-manager

- name: 🍎 Build iOS consumer app with SPM
run: |
set -euo pipefail
flutter create --platforms=ios "$RUNNER_TEMP/spm_consumer"
cd "$RUNNER_TEMP/spm_consumer"
flutter pub add freerasp --path "$GITHUB_WORKSPACE"
flutter build ios --release --no-codesign
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,8 @@ build/
example/pubspec.lock

# FVM Version Cache
.fvm/
.fvm/

# SPM
.build/
.swiftpm/
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [8.1.0] - 2026-07-23

- Android SDK version: 18.3.0
- iOS SDK version: 7.1.1

### Flutter

#### Added

- Swift Package Manager (SPM) support for iOS. Requires Flutter 3.41.0 or newer; CocoaPods remains supported on older versions.

### iOS

#### Added

- Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks.
- Improved hook detection.

#### Fixed

- Fixed issue with app's color scheme initialization.
- Fixed bad memory access in jailbreak check.

#### Changed

- Raised the minimum iOS deployment target to 13.0, as required by the iOS SDK.

## [8.0.0] - 2026-05-13

- Android SDK version: 18.3.0
Expand Down
4 changes: 0 additions & 4 deletions ios/Classes/FreeraspPlugin.h

This file was deleted.

15 changes: 0 additions & 15 deletions ios/Classes/FreeraspPlugin.m

This file was deleted.

Binary file not shown.
8 changes: 4 additions & 4 deletions ios/freerasp.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ FreeRASP for iOS is a lightweight and easy-to-use mobile app protection and secu
s.license = { :file => '../LICENSE' }
s.author = { 'Talsec' => 'talsec.app' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*', 'TalsecRuntime.xcframework'
s.source_files = 'freerasp/Sources/**/*.swift'
s.dependency 'Flutter'
s.platform = :ios, '8.0'
s.platform = :ios, '13.0'

s.preserve_paths = 'TalsecRuntime.xcframework'
s.preserve_paths = 'freerasp/TalsecRuntime.xcframework'
s.xcconfig = { 'OTHER_LDFLAGS' => '-framework TalsecRuntime' }
s.vendored_frameworks = 'TalsecRuntime.xcframework'
s.vendored_frameworks = 'freerasp/TalsecRuntime.xcframework'

# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
Expand Down
29 changes: 29 additions & 0 deletions ios/freerasp/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// swift-tools-version: 5.9
import PackageDescription

let package = Package(
name: "freerasp",
platforms: [
.iOS("13.0")
],
products: [
.library(name: "freerasp", targets: ["freerasp"])
],
dependencies: [
.package(name: "FlutterFramework", path: "../FlutterFramework")
],
targets: [
.binaryTarget(
name: "TalsecRuntime",
path: "TalsecRuntime.xcframework"
),
.target(
name: "freerasp",
dependencies: [
.product(name: "FlutterFramework", package: "FlutterFramework"),
"TalsecRuntime"
],
path: "Sources"
)
]
)
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,32 @@
<key>BinaryPath</key>
<string>TalsecRuntime.framework/TalsecRuntime</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>TalsecRuntime.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>TalsecRuntime.framework/TalsecRuntime</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>TalsecRuntime.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Binary file not shown.
Loading