Quick Look plugin for apps and provisioning profile files

Overview

ProvisionQL - Quick Look for ipa & provision

CI Status Latest Release License Platform

Thumbnails example

Inspired by a number of existing alternatives, the goal of this project is to provide clean, reliable, current and open source Quick Look plugin for iOS & macOS developers.

Thumbnails will show app icon for .ipa/ .xcarchive or expiring status and device count for .mobileprovision. Quick Look preview will give a lot of information, including devices UUIDs, certificates, entitlements and much more.

Valid AdHoc provision

Supported file types:

  • .ipa - iOS packaged application
  • .xcarchive - Xcode archive
  • .appex - iOS/OSX application extension
  • .mobileprovision - iOS provisioning profile
  • .provisionprofile - OSX provisioning profile

More screenshots

Acknowledgments

Initially based on Provisioning by Craig Hockenberry.

Tutorials based on this example:

Installation

Homebrew Cask

Homebrew cask is the easiest way to install binary applications and Quick Look plugins.

If you have homebrew installed - just run one line and you are ready:

brew install --cask provisionql

Xcode project

Just clone the repository, open ProvisionQL.xcodeproj and build active target. Shell script will place generator in ~/Library/QuickLook and call qlmanage -r automatically.

Manual

  • download archive with latest version from the Releases page;
  • move ProvisionQL.qlgenerator to ~/Library/QuickLook/(current user) or /Library/QuickLook/(all users);
  • run qlmanage -r to refresh Quick Look plugins list.

Author

Created and maintained by Evgeny Aleksandrov (@ealeksandrov).

License

ProvisionQL is available under the MIT license. See the LICENSE.md file for more info.

Comments
  • Unrecognized selector and Permission denied errors

    Unrecognized selector and Permission denied errors

    I just installed, and it's not working for me. I looked at some of your other issues to try to find troubleshooting information. When I try

    qlmanage -p foo.mobileprovision
    

    I get:

    Testing Quick Look preview with files:
    	foo.mobileprovision
    2020-07-27 13:22:25.793 qlmanage[86947:11580548] -[NSCompositeAppearance dvt_hasDarkAppearance]: unrecognized selector sent to instance 0x7fcd4b70b070
    2020-07-27 13:22:25.939 qlmanage[86947:11580548] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x6d03, name = 'com.apple.coredrag'
    See /usr/include/servers/bootstrap_defs.h for the error codes.
    2020-07-27 13:22:26.001 qlmanage[86947:11580548] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x1411f, name = 'com.apple.tsm.portname'
    See /usr/include/servers/bootstrap_defs.h for the error codes.
    

    I'm on Catalina 10.15.6, and Xcode 11.6

    Support 
    opened by fingersakimbo 9
  • MacOS Catalina 10.15 Issues

    MacOS Catalina 10.15 Issues

    I'm having trouble getting the plugin to work at all (for any of the supported filetypes) on my machine running macOS 10.15 Catalina. Install process goes fine, but whenever I quick look an IPA or an xcarchive, I just see the default quick look view.

    Tried re-installing, but that didn't help. I'm not sure how to troubleshoot further. Is there a place I can look to see Quick Look errors?

    Thanks for any help!

    Support 
    opened by swain 9
  • Add ability to view code signing entitlements in the application binary

    Add ability to view code signing entitlements in the application binary

    This will help debugging issues such as the following.

    http://www.karlmonaghan.com/2012/08/09/invalid-ipa-the-keychain-access-group-in-the-embedded-mobileprovision-and-your-binary-dont-match/

    Feature Request 
    opened by tonyxiao 9
  • Failed on macOS Catalina beta1

    Failed on macOS Catalina beta1

    I tried reload the plugin. But it is failed load and it shows below warnings.


    qlmanage -r dyld: warning, LC_RPATH @executable_path/../Frameworks in /usr/bin/qlmanage being ignored in restricted program because of @executable_path (Codesign main executable with Library Validation to allow @ paths) dyld: warning, LC_RPATH @executable_path/../Frameworks in /usr/bin/qlmanage being ignored in restricted program because of @executable_path (Codesign main executable with Library Validation to allow @ paths) dyld: warning, LC_RPATH @executable_path/../Frameworks in /usr/bin/qlmanage being ignored in restricted program because of @executable_path (Codesign main executable with Library Validation to allow @ paths) qlmanage: resetting quicklookd

    Bug 
    opened by paopaosa 7
  • QuickLook does not work on macOS BigSur

    QuickLook does not work on macOS BigSur

    hey, I can't make the ProvisionQL to work on macOS BigSur. I installed it via Homebrew

    brew install provisionql
    

    My Xcode is here

    xcode-select -p
    /Applications/Xcode-12.1.app/Contents/Developer
    

    I did remove the default QL for:

    rm /Applications/Xcode-12.1.app/Contents/Library/QuickLook/DVTProvisioningProfileQuicklookGenerator.qlgenerator
    
    qlmanage -r
    
    qlmanage -m plugins | grep ProvisionQL.qlgenerator
      com.apple.iphone.mobileprovision -> /Users/jan/Library/QuickLook/ProvisionQL.qlgenerator (64)
      com.apple.application-and-system-extension -> /Users/jan/Library/QuickLook/ProvisionQL.qlgenerator (64)
      com.apple.xcode.archive -> /Users/jan/Library/QuickLook/ProvisionQL.qlgenerator (64)
    

    But when I quick look an .ipa or a .mobileprovision, I don't get any preview

    Screenshot 2020-11-15 at 20 42 12 Screenshot 2020-11-15 at 20 42 27

    any tips?

    Support 
    opened by JanC 6
  • [Bug/Feature Request] Dark mode support

    [Bug/Feature Request] Dark mode support

    Dark mode on macOS Mojave causes the text to change colors, but the background color remains the same, resulting in clashing colors which causes the text to become unreadable: image

    Needs Confirmation 
    opened by 916253 5
  • Add warning about Xcode plugin to Homebrew install flow

    Add warning about Xcode plugin to Homebrew install flow

    Using macOS 10.14 (18A389) with dark mode with the latest version of ProvisionQL (1.5.0), the preview displayed is hard to read due to the main text being shifted to a very light grey that blends in with the blur of the Quick Look window. This only occurs when in dark mode & colors are a readable black when in light mode.

    provisionqldarkmode

    opened by abotkin-cpi 4
  • Unable to view more than one provision profile

    Unable to view more than one provision profile

    This issue started to reproduce since latest update (s) of macOS.

    Steps to reproduce:

    1. Go to ~/Library/MobileDevice/Provisioning Profiles directory
    2. Select any .mobileprovision or .provisionprofile
    3. Press Space
    4. Notice the QuickLook plugin renders the profile of your choice
    5. With Down or Up arrow key change your selection
    6. Notice the QuickLook plugin does not render the profile.

    Workaround: I was able to overcome this issue by next steps:

    1. Clone the repo and setup the project to run qlmanage process (even though LLDB cannot attach to the process b/c of SIP, Xcode still can launch it)
    2. Open Activity Monitor and make sure qlmanage process is running
    3. Do the steps 1., 2., 3., 4., from "Steps to reproduce"
    4. When you continue to do steps 5. and 6. the issue still reproduce itself
    5. However, when you change the focus of the active Finder window to some other Finder window and then change it back, the next provision profile file can be previewed by the QuickLook plugin.
    6. Sometimes, you need to terminate the qlmanage process and start over again to continue to view profiles.

    Taking into account "Steps to reproduce" and "Workaround" it might be a bug in High Sierra or in the plugin itself.

    OS: macOS High Sierra Version: 10.13.3 (17D47)

    Needs Confirmation 
    opened by evgeniyd 4
  • Unable to view .ipa generated for Ad Hoc distribution

    Unable to view .ipa generated for Ad Hoc distribution

    I have a client for whom I deliver an app exported for Ad-Hoc distribution. It's key that I be able to see the device IDs that are provisioned in the app. ProvisionQL just shows a spinner for 15-20 seconds and then shows me nothing. ipaql works but I'd rather be able to switch to ProvisionQL because it does more. Any ideas?

    I can arrange to provide you with a copy of the relevant .ipa directly if you want it.

    Bug 
    opened by rcritz 4
  • Any chance of having entitlements higher in the preview?

    Any chance of having entitlements higher in the preview?

    This is definitely a better preview than the XCode one but the one thing XCode one does better is show the entitlements before the provisioned devices, when you have a lot of devices its annoying to have keep scrolling to the bottom to check them

    Feature Request 
    opened by anadin 3
  • Installation from brew needs sudo

    Installation from brew needs sudo

    Installing with brew seems to lead to permissions issues on Catalina 10.15.6

     brew cask install provisionql
    ==> Installing Cask provisionql
    ==> Moving QuickLook Plugin 'ProvisionQL.qlgenerator' to '/Users/thibauddavid/Library/QuickLook/ProvisionQL.qlgenerator'.
    
    qlmanage -p embedded.mobileprovision
    Testing Quick Look preview with files:
    	embedded.mobileprovision
    2020-08-07 08:16:22.541 qlmanage[1233:21117] -[NSCompositeAppearance dvt_hasDarkAppearance]: unrecognized selector sent to instance 0x7fa69e512140
    2020-08-07 08:16:22.905 qlmanage[1233:21117] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x940b, name = 'com.apple.coredrag'
    See /usr/include/servers/bootstrap_defs.h for the error codes.
    2020-08-07 08:16:23.237 qlmanage[1233:21117] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xb31f, name = 'com.apple.tsm.portname'
    See /usr/include/servers/bootstrap_defs.h for the error codes.
    

    When trying with sudo qlmanage -p embedded.mobileprovision, it works normally

    opened by thibauddavid 2
Releases(1.6.2)
Owner
Evgeny Aleksandrov
Evgeny Aleksandrov
Build native iOS, Android, and Web apps with Capacitor and Remix.run 💿

This repository holds production ready Capacitor templates for building native mobile applications using Remix. Using Capacitor, you can quickly build out a native mobile application for iOS and Android using web technology, such as Remix.

Ionic 70 Dec 30, 2022
Automatically build and rebuild Xcode image catalogs for app icons, universal images, and more

Better asset workflow for iOS developers. Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more.

Dotan J. Nahum 822 Dec 21, 2022
AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click

AVXCAssets Generator Often while developing an app, We ran into a condition when we need to scale images to each and every aspect ratios for icons and

Angel Vasa 339 Dec 6, 2022
Swift CLI for strong-typing images, colors, storyboards, fonts and localizations

Shark Shark is a Swift command line tool that generates type safe enums for your images, colors, storyboards, fonts and localizations. Because Shark r

Kaan Dedeoglu 377 Dec 1, 2022
Strong typed, autocompleted resources like images, fonts and segues in Swift projects

R.swift Get strong typed, autocompleted resources like images, fonts and segues in Swift projects Why use this? It makes your code that uses resources

Mathijs Kadijk 8.9k Jan 6, 2023
Xcode storyboards diff and merge tool.

StoryboardMerge Storyboard diff and merge tool which: compares and merges two storyboard files, provides an automatic merge-facility, The storyboardin

null 238 Sep 12, 2022
swiftenv allows you to easily install, and switch between multiple versions of Swift.

Swift Version Manager swiftenv allows you to easily install, and switch between multiple versions of Swift. This project was heavily inspired by pyenv

Kyle Fuller 1.9k Dec 27, 2022
An adorable little framework and command line tool for interacting with SourceKit.

SourceKitten An adorable little framework and command line tool for interacting with SourceKit. SourceKitten links and communicates with sourcekitd.fr

JP Simard 2.1k Jan 5, 2023
🔎 All-in-one Quick Look plugin

Glance All-in-one Quick Look plugin Glance provides Quick Look previews for files that macOS doesn't support out of the box. Installation Steps About

Han Cen 257 Dec 27, 2022
QuickLookProtein is a macOS Quick Look extension to preview protein/3D structure files (PDB, SDF, CIF).

QuickLookProtein QuickLookProtein is a macOS Quick Look extension to preview protein/3D structure files (PDB, SDF, CIF). It works in all places where

Jethro Hemmann 32 Sep 13, 2022
LinkedIn-Profile - UI of Android LinkedIn App Profile Page in iOS SwiftUI

LinkedIn-Profile UI of Android LinkedIn App Profile Page in iOS SwiftUI Sample I

null 0 Feb 4, 2022
Profile-Tree - Profile in Tree structure developed in UIKit

Profile-Tree Profile in Tree structure developed in UIKit Screenshot Video Profi

null 1 Oct 7, 2022
Parse iOS mobile provisioning files into Swift models

SwiftyProvisioningProfile This library provides a way to decode a .mobileprovision file into a Swift model. Installation The recommended installation

James Sherlock 60 Nov 25, 2022
Sample iOS AR app using AR Quick Look API

ARQLSanta This is a minimal AR iOS app that uses the AR Quick Look API, displayi

Yasuhito Nagatomo 9 Aug 23, 2022
Currency Converter - Free and Quick Converter calculates money quick and easy way to see live foreign exchange rates.

Currency Converter - Free and Quick Converter calculates money quick and easy way to see live foreign exchange rates. This app is available in the App

Tirupati Balan 212 Dec 30, 2022
PJAlertView - This library is to make your own custom alert views to match your apps look and feel

PJAlertView - This library is to make your own custom alert views to match your apps look and feel

prajeet 6 Nov 10, 2017
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
A framework for presenting bars and view controllers as popup, much like the look and feel of Apple Music App.

PBPopupController PBPopupController is a framework for presenting bars and view controllers as popup, much like the look and feel of Apple Music App.

Patrick 58 Dec 3, 2022
Xcode-streamdeck-plugin - A Stream Deck plugin for Xcode

Stream Deck Xcode Plugin This repository contains a Stream Deck plugin to add so

Daniel Kennett 77 Dec 27, 2022