Swiftpack.co -  AckeeScreenshoter/iOS.Client as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
AckeeScreenshoter/iOS.Client
Screenshot, annotate and share all the bugs with Ackee Screenshotter🐛
.package(url: "https://github.com/AckeeScreenshoter/iOS.Client.git", from: "1.2.4")

Ackee Screenshotter - ASS

Do you test? We do! 😂 So let's make it a bit less boring 😎 Ass is a framework and an app designed to save you testing time 💪

Installation

Swift Package Manager

ASS framework is available through SwiftPM. Add ASS to the dependencies value of your Package.swift

dependencies: [
    .package(url: "git@github.com:AckeeScreenshoter/iOS.Client.git", .upToNextMajor(from: "1.0.0"))
]

Carthage

ASS framework is also available through Carthage. Just add it to your Cartfile.

git "git@github.com:AckeeScreenshoter/iOS.Client.git" ~> 1.0.0

ASS Application is available through App Distribution .

ASS framework communicates with the ASSApp therefore ASSApp must be installed on the testing device.

Usage

First the SDK needs to be setup in an application that is to be tested.

  1. Enable ASS.
  2. Provide ASS with base_url for the Firebase backend.
  3. Provide ASS with auth_token for the Firebase backend authorization.

This setup is typically done in the app delegate.

Ass.shared.isEnabled = true
Ass.shared.baseURL = URL(string: "<base_url>")!
Ass.shared.authorization = "<auth_token>"
  1. Define URL Scheme in Project Settings -> Target -> Info -> URL Types by adding a new URLType (tapping the plus sign) with AckeeScreenshotter identifier. The URL Scheme must be different from URL schemes defined in your other URL Types. Also it has to be unique across all the apps installed on a device to function properly. So it is preferred to pick URL Scheme such as ass-<bundle_id>. Do not use ass as ass is a scheme already used by AssApp.

How to add URL Type

When enabled ASS reacts to taking screenshots and screen capturing.

What is sent to backend?

Along with the screenshot we send additional metadata

  • device make (Apple)
  • device model (iPhone X)
  • iOS version (12.1)
  • app version (1.0)
  • build number (563)
  • platform (ios)
  • app name

These have their defaults but can also be changed if needed.

Ass.shared.appInfo.appName = "XY"

Custom data

Custom data like user account can also be added by setting properties on Ass.shared

Ass.shared.appInfo.customData = ["account": "pan.unicorn@ackee.cz"]

Note

AssApp allows the user to take a note that is also sent to the backend.

Show Time

When screen recording, we use ShowTime to show screen touches. This feature is enabled by default but can be disabled when setting up ASS in your application.

Ass.shared.isVisibleTapsEnabled = false

Framework and App communiaction

Debug application using Ass communicates with the AssApp through URL scheme.

AssApp reacts to URLs using the ass scheme.

All of the debug app information is sent to AssApp through the URL as a query parameter. Ass detects screenshots as well as screen recordings, these are recoginzed by the AssApp through an additional mediaType query parameter which can have these values: screenshot, recording.

When AssApp is opened with a URL its query parameters are parsed. The query parameters must contain mediaType, baseURL, authorization keys where the mediaType's value must be one of the mentioned above. The rest of the parameters are parsed as and additional application information.

User guide

To use Ass just take a screenshot or stop a video inside the tested application. After one of these actions is detected the user is taken straight to ASS App. In case of a screenshot the user can edit the image through the small window that appears in the bottom left corner of the screen. It is also possible to edit the photo in the Gallery and return back to ASSApp. When finished just tap send and your screenshot or records appears on the specified backend.

GitHub

link
Stars: 3
Last commit: 2 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API