An open API service indexing awesome lists of open source software.

https://github.com/1998code/antifraudkit-for-swift

A Powerful Light-Weight Swift Toolkit to prevent Fraud Purchase (Side-load) and Jailbreak. Designed with SwiftUI.
https://github.com/1998code/antifraudkit-for-swift

Last synced: 7 months ago
JSON representation

A Powerful Light-Weight Swift Toolkit to prevent Fraud Purchase (Side-load) and Jailbreak. Designed with SwiftUI.

Awesome Lists containing this project

README

          

# AntiFraudKit
[![Swift](https://github.com/1998code/AntiFraudKit-for-Swift/actions/workflows/swift.yml/badge.svg?branch=main)](https://github.com/1998code/AntiFraudKit-for-Swift/actions/workflows/swift.yml)
### Accelerated by Apple SwiftUI & StoreKit

## Aims
Provide an easy integration and UI for Apple Developers to protect the copyright for their app.

## Features
- Check App Store Purchase Receipt
- Temporary Skip Checking
- Serverless Design
- Anti-Jailbreak

## Version
![GitHub release (latest by date)](https://img.shields.io/github/v/release/1998code/AntiFraudKit-for-Swift?color=g&label=STABLE&style=for-the-badge)
![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/1998code/AntiFraudKit-for-Swift?color=green&include_prereleases&label=BETA&style=for-the-badge)

## Environment
### Xcode Local
Tested on | Latest | Compatible
--------- | ------ | ----------
iOS | 16 | 16
iPadOS | 16 | 16
macOS | 13 | 13

## Get Started
### Guide
Coming Soon 🤗

### Basic Setup
Add ```https://github.com/1998code/AntiFraudKit-for-Swift``` to package and switch to ```main``` branch to get the latest development update.
CleanShot 2022-12-26 at 11 21 07@2x

### Major Usage
1. Import the framework
```swift
import AntiFraudKit
```

2. Add States before body or any some View.

State | Type | Default | Remark
----- | ---- | ------- | ------
appStoreURL | String | "https://apps.apple.com/app/betterappicons/id1532627187" | Suggest user to download via App Store
purchasedVersion | String | "" | Return Purchased Version
purchasedDate | String | "" | Return Purchased Version
maxSkip | Int | 3 | Set Max Skip Times in case your user may not be able to verify at that moment
allowJailbreak | Bool | false | Prevent user to tweak your app/game in a JB environment

Samples:
```swift
@State var appStoreURL: String = "https://apps.apple.com/app/betterappicons/id1532627187"
@State var purchasedVersion: String = ""
@State var purchasedDate: String = ""
@State var maxSkip: Int = 3
@State var allowJailbreak: Bool = false
```

3. Then, paste this code inside body or any some View.
```swift
if #available(iOS 16, macOS 13, *) {
ATFraud(appStoreURL: $appStoreURL, purchasedVersion: $purchasedVersion, purchasedDate: $purchasedDate, maxSkip: $maxSkip, allowJailbreak: $allowJailbreak)
}
```
Instead of using seperate states, inline binding works too.

4. (Optional) If you wish to detect Jailbreak Status, be sure to add this key to ```Info.plist```
CleanShot 2022-12-25 at 22 45 17@2x

```xml

cydia

```

## Possible Conflict
If you use other sheets, e.g., SwiftNewKit, be sure to hide it before AntiFraudKit runs.
```swift
if (purchasedDate || purchasedVersion) {
SwiftNEW(...
}
```
* AntiFraudKit's show priority MUST always be higher than any other sheet!

## Developer Note
- Please report bugs in Issues section.
- If you want to discuss future roadmap or contribution, please find on Discussions.

## Preview
Light | Dark
------------- | ------------
![IMG_6A0BAFDBBAB2-2](https://user-images.githubusercontent.com/54872601/209469243-618b2135-447f-422e-b676-db7b5c2e6276.jpeg) | ![IMG_6A0BAFDBBAB2-1](https://user-images.githubusercontent.com/54872601/209469241-45522b8e-5dc5-4903-8080-9261f00f56dc.jpeg)

Ask for Signin | Login Error | Skip Alert on macOS
------------- | ------------ | -------------------
CleanShot 2022-12-25 at 21 46 46@2x | CleanShot 2022-12-25 at 21 46 58@2x | CleanShot 2022-12-25 at 22 11 39@2x

## Demo
Path: `./Demo` (Xcode Project in SwiftUI)

## License
MIT