QuickLook plugin for Mobile Provision files
- I received the new mobileprovision file.
- Great.
- No.
- What?
- You still haven’t added my UDID in it.
- I have.
- No you have not.
- Yes I have.
- No you haven’t.
- Yes.
- No! Why don’t you just… <loosing patience, but trying to stay polite>
- …
- Look, I’m sure. Can you generate it again?
- Ok, I will. Wait… ok, it’s done.
- Let me check. No, sorry, still not ok.
- Are you sure?
[END OF CHAT CONVERSATION CENSORED]
Sounds like déjà-vu? Probably because it is. Code signing can be a pain, but the fact that Xcode gives very little information about a mobile provisioning file does not ease things.
Let me introduce a new QuickLook plugin. This plugin allows you to get a QuickLook preview for all .mobileprovision files.
It gives you the name of the profile, its creation and expiration date, its App ID, and a sorted list of all the UDIDs included.
Before, you had this:
Standard QuickLook preview
For the same file, now you get:
For known devices, you get even more information:
The icon view in the Finder gets some improvements too. You can even see very quickly if a mobile provision has expired.
All the graphic design has been done by Vincent Bernet. I have worked with him on several projects, and definitely recommend his work. Check out his portfolio at vincentbernet.com.




Kudos my friend… Kudos
w00t
You, Sir, deserve a promotion !
Excellent plugin!!! Just what I’ve been looking for. Get Apple to buy and bundle it!
Freaking AWEsome!
Yes, this is seriously useful!
Works great!
Many thanks, should prove very useful
thank you man ! Cause those provision profile are a pain in the butt !
Awesome idea, thanks.
One thing which would be very useful to have in addition to device UDIDs is the ID of the profile itself, so I wouldn’t have to drop it into Xcode’s Organizer just to see & copy it from there.
@Nikita: Are you talking about the Profile Identifier (value similar to this: B86F9B6C-C96D-43CE-BCA9-A671DC47DE63)?
Why do you need to know it? What is the use case?
To all: I really appreciate your feedback and kind words. Thank you
Keep them coming!
@guillaume: The reason I need profile IDs is because I use CI server (Jenkins) to create builds using different provisioning profiles, and Jenkins passes profile ID to xcodebuild on command line so that it knows which profile to use during compilation.
The profile ID is located under the “UUID” key in the plist which is embedded inside .mobileprovision file.
That’s so cool! Thanks much!
Great work.
The check for update link currently links to the wrong product page though!
Invaluable! Thanks a lot.
Nice graphics, too.
AWESOME! Thank you!
Great job, but it doesn’t work with mac provision profiles. Please email me if you have interest in adding support for these and we’ll sort it out.
Really nice
Thanks a lot !!!
Brilliant tool.
Just one minor thing, the spelling for “Provisioned Devices” has only one “n”
Tu veux dire “definitely” ?
please sir:
send to me MobileProvisionfile.
@KPM: Yes, thank you for spotting the mistake. I have edited the post.
@Khalid: The download link is at the bottom of the article.
This looks amazing!
But as I tested, this is not working for Lion, do I miss something?
@Travis: It works on Lion. Did you do a manual install or used the installer? Send me an email at contact at this domain if you need help installing.
thx @Guillaume
It works after reinstall the pkg
I think it broke on Mountain Lion.
See below for the relevant crash report details.
Is the source somewhere online?
*** error for object 0x10566bb30: pointer being freed was not allocated
Thread 4 Crashed:: Dispatch queue: quicklookd.serialgenerator
0 libsystem_kernel.dylib 0x00007fff885f723a __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff92649850 pthread_kill + 90
2 libsystem_c.dylib 0x00007fff9269360e abort + 143
3 libsystem_c.dylib 0x00007fff92661539 free + 392
4 libobjc.A.dylib 0x00007fff8712711f object_dispose + 60
5 com.apple.CoreFoundation 0x00007fff92e0fae4 -[__NSDictionaryI dealloc] + 196
6 libobjc.A.dylib 0x00007fff871273ca (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 464
7 com.apple.CoreFoundation 0x00007fff92d1c072 _CFAutoreleasePoolPop + 34
8 com.apple.Foundation 0x00007fff89eb7b5d -[NSAutoreleasePool release] + 154
9 com.macmation.qlgenerator.mobileprovision 0×0000000105924169 GeneratePreviewForURL + 873
10 com.apple.QuickLookFramework 0x00007fff8e9d6a31 _QLPreviewRequestDispatch + 174
11 com.apple.QuickLookDaemon 0x00000001054c9dcf 0×105492000 + 228815
12 com.apple.QuickLookDaemon 0x000000010549b955 0×105492000 + 39253
13 com.apple.QuickLookDaemon 0x000000010549d128 0×105492000 + 45352
14 com.apple.QuickLookFramework 0x00007fff8e9f96a1 QLTryCatchAndCrash(void ()() block_pointer) + 17
….
@Martijn The: Thank you for the crash report. I have not yet a fully functional installation of Mountain Lion. I will fix this as soon as possible.
Code source is not open, sorry.
How do I use this? When I try to open a provisioning file it open automatically with iPhone configuration utitlity.
Thor> Do you know what QuickLook is? I bet not…
You seem new to the Mac, so let me explain. QuickLook is not an app that you can use to open files. It’s a feature of the Finder (the file manager that sits on the far left side of the Dock, the one with the smiley icon) that lets you preview the contents of a file. To call the QuickLook feature on a file, select that file and press the space bar.
Hi,
Great idea. I cannot get it to work on 10.7.4, though. The CLI works fine, but the QuickLook plugin makes the following message appear in the Console:
27.08.2012 08:46:43.316 quicklookd: [QL] Can’t load plug-in at file://localhost/Users/olivier/Library/QuickLook/MobileProvision.qlgenerator/: The bundle “MobileProvision” couldn’t be loaded.
I tried installing it manually and with the package, for the current user or all users. The permissions on the files look right. Any idea?
I get the same “the bundle MobileProvision couldn’t be loaded error, even when trying to explicitely trigger it via “qlmanage -p “.
In addition, I found the following message in the syslog:
17.09.12 08:54:22,064 quicklookd: [QL] file://localhost/Library/QuickLook/MobileProvision.qlgenerator/ has no identifier: ignoring
I have no idea which identifier might be missing, though…
got the same error as jens, os x 10.7.4, maybe there is version 1.1 available still somewhere?
Got the same error:
[ERROR] Can’t load plug-in at file://localhost/Library/QuickLook/MobileProvision.qlgenerator/: The bundle “MobileProvision” couldn’t be loaded.
Hi there,
I really love the command line tool you provide with this plugin.
I was wondering if you could add an option to display developer certificates that are listed inside the mobile provision file? Right now I have to use plistbuddy to get them.
@Andy: Could you share your plistbuddy command to get this information?
A lot of people end up on this post via google or external links. If you’re running mountain lion, visit this blog post for the updated version which works great in mountain lion:
http://www.macmation.com/blog/2012/07/quicklook-plugin-for-mobileprovision-mountain-lion-ready/
Why isn’t it not working for me. I just installed it. However, the changes are not visible to me in my finder. Am I missing something?
Do I need to restart my system after installation?
Great plugins!
I am very frustrated, because I don’t see in quicklook the content of my mobileprovision on Lion Mac 1.7.5. I installed with the pkg, I also try to copy manually the file on ~/library/QuickLook , /Library/QuickLook, I restarted, I reseted with following command lines: /usr/bin/qlmanage -r and /usr/bin/qlmanage -m nothing works! Any ideas ???