Parse iOS mobile provisioning files into Swift models

Overview

SwiftyProvisioningProfile

This library provides a way to decode a .mobileprovision file into a Swift model.

Installation

The recommended installation is via Swift Package Manager, you'll want to update your Package.swift with a new dependency:

import PackageDescription

let package = Package(
    name: "YourAwesomeSoftware",
    dependencies: [
        .package(url: "https://github.com/Sherlouk/SwiftProvisioningProfile.git", from: "1.0.0")
    ]
)

There are open issues to handle CocoaPods and Carthage installation, if people want it then I'm willing to support it!

Usage

// 1. Import the library
import SwiftyProvisioningProfile

// 2. Load your provisioning profile's file data
let profileData = try Data(contentsOf: ...)

// 3. Parse it
let profile = try ProvisioningProfile.parse(from: profileData)

// 4. Use it
print(profile.uuid)
You might also like...
A Swift Encoder for encoding any Encodable value into an array of URLQueryItem.

URLQueryItemEncoder A Swift Encoder for encoding any Encodable value into an array of URLQueryItem. As part of the SE-0166, Swift has a foundation for

AnalyticsKit for Swift is designed to combine various analytical services into one simple tool.

🦋 AnalyticsKit AnalyticsKit for Swift is designed to combine various analytical services into one simple tool. To send information about a custom eve

Passing data from a couple of screen into a Model
Passing data from a couple of screen into a Model

Passing-Data Passing data from a couple of screen into a Model Introduction Hi, this video is just a representation project from this Video by Essenti

Taking a string containing a csv file and split it into records (aka lines) containing fields of data (aka Array of SubStrings)

Swift .csv parser Taking a string containing a csv file and split it into records (aka lines) containing fields of data (aka Array of SubStrings). Par

Decode a string encoded in Base64 into an https link and launch it in Google Chrome

Decode a string encoded in Base64 into an https link and launch it in Google Chr

Ios-mod-extract - iOS mod extract with swift

DIOExtract Example To run the example project, clone the repo, and run pod insta

IOS-Bootcamp-Examples - Learn to Swift while building apps - With IOS Development Bootcamp
IOS-Bootcamp-Examples - Learn to Swift while building apps - With IOS Development Bootcamp

IOS-Bootcamp-Examples Learn to Swift while building apps - With IOS Development

Swift-HorizontalPickerView - Customizable horizontal picker view component written in Swift for UIKit/iOS

Horizontal Picker View Customizable horizontal picker view component written in

BCSwiftTor - Opinionated pure Swift controller for Tor, including full support for Swift 5.5 and Swift Concurrency

BCSwiftTor Opinionated pure Swift controller for Tor, including full support for

Comments
  • Parse `Entitlements`

    Parse `Entitlements`

    Dictionary keyed with String, value can be anything.

    Some values I've seen: get-task-allow allows other processes to attach (such as the Xcode debugger) - Debug/Developer profiles Only keychain-access-groups is an array of app identifiers (strings) application-identifier com.apple.developer.team-identifier aps-environment

    Plenty of others

    opened by Sherlouk 1
  • Bug: Profile may not have a list of provisioned devices

    Bug: Profile may not have a list of provisioned devices

    App Store profiles don't have a list of devices, it should be optional:

    https://github.com/Sherlouk/SwiftProvisioningProfile/blob/master/Sources/SwiftyProvisioningProfile/Model/ProvisioningProfile.swift#L44

    opened by Sherlouk 0
  • Experiment with lossless conversion back to profile

    Experiment with lossless conversion back to profile

    Currently we use CMSDecoder to extract the true plist data, and use Codable to convert to a Swift struct.

    https://developer.apple.com/documentation/security/cmsencoder

    I'm curious whether we could, using CMSEncoder, turn that struct back into a secure provisioning profile. And if so, is it a lossless cycle?

    opened by Sherlouk 0
  • Upload Test Profile

    Upload Test Profile

    Because of Apple's security it's not as easy as editing an existing profile with dummy data, but would like to get my hands on (some how) a test provisioning profile which can be used in tests

    opened by Sherlouk 0
Releases(2.0.1)
  • 2.0.1(Nov 20, 2018)

  • 2.0.0(Nov 20, 2018)

    Breaking Changes

    Added ability to independently parse .cer x509 certificates with the values for validity dates.

    parse(from: Data) throws -> Certificate

    • Removed SecureCertificate in replacement of just Certificate
    • No longer parsing Summary
    • Renamed expiryDate to notValidAfter
    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Apr 14, 2018)

  • 1.0.0(Apr 13, 2018)

Owner
James Sherlock
James Sherlock
HxSTLParser is a basic STL parser capable of loading STL files into an SCNNode

HxSTLParser HxSTLParser is a basic STL parser capable of loading STL files into an SCNNode. Installing Via Carthage Just add it to your Cartfile githu

Victor 23 Dec 16, 2022
Validate iOS, Android, and Mac localizations. Find errors in .strings, .stringsdict, and strings.xml files.

Locheck An Xcode and Android localization file validator. Make sure your .strings, .stringsdict, and strings.xml files do not have any errors! What do

Asana 73 Dec 13, 2022
Zip - A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of minizip.

Zip A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of minizip. Usage Import Zip at the top of the Swift file

Roy Marmelstein 2.3k Jan 3, 2023
Monitor changes to files and directories using kernel event notifications (kqueue) in Swift

SKQueue SKQueue is a Swift libary used to monitor changes to the filesystem. It wraps the part of the kernel event notification interface of libc, kqu

Daniel Pedersen 86 Oct 26, 2022
Readium Mobile is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin.

Readium Swift Toolkit Readium Mobile is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin. This toolkit is a modular project, whic

Readium 89 Dec 30, 2022
ZIP Foundation is a library to create, read and modify ZIP archive files.

ZIP Foundation is a library to create, read and modify ZIP archive files. It is written in Swift and based on Apple's libcompression for high performa

Thomas Zoechling 1.9k Dec 27, 2022
Converter for your Rigol Oscilloscope .CSV files to LtSpice

rigol2spice A program to convert Rigol oscilloscope's .CSV files to a format readable by LTspice. Your Rigol oscilloscope can output .CSV files that c

Rui Carneiro 4 Aug 31, 2022
Steps and files needed to reproduce a CSP bug in Safari Web Extensions

CSP Safari bug repro There appears to be a discrepancy between how Safari handles CSP policies for extension pages compared to how other browsers do s

Brian Birtles 0 Nov 6, 2021
Creates SpriteKit game maps from TMX Map files.

PEMTileMap is a Swift package that generates SpriteKit game maps from TMX Map files. Maps, layers, tiles and objects are automatically rendered as SKN

hotdogsoup.nl 3 Jul 12, 2022
Read iOS 15 privacy insight '.ndjson' file into your human brain.

Insight Read iOS 15 privacy insight '.ndjson' file into your human brain. Written in SwiftUI. Feature Compile records into app summary Relink app info

Lakr Aream 151 Nov 11, 2022