munkiimport iPad/iOS apps

72 views
Skip to first unread message

Gregory Neagle

unread,
Mar 5, 2025, 2:08:33 PMMar 5
to munki-dev, munki-discuss
This hasn’t come up for us until very recently — we had a request to deploy an iPad/iOS app on Macs with Apple silicon. I downloaded the app from the App Store, and attempted a munkiimport:

$ munkiimport /Applications/Q-SYS\ UCI.app

Making disk image containing Q-SYS UCI.app...

/Applications/Q-SYS UCI.app: Authentication error

created: /tmp/munki-jo1fwsjj/Q-SYS UCI.dmg

Disk image created at: /tmp/munki-jo1fwsjj/Q-SYS UCI.dmg

Traceback (most recent call last):

  File "/usr/local/munki/munkiimport", line 608, in <module>

    main()

  File "/usr/local/munki/munkiimport", line 379, in main

    pkginfo = pkginfolib.makepkginfo(installer_item, options)

              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/munki/munkilib/admin/pkginfolib.py", line 430, in makepkginfo

    pkginfo = get_catalog_info_from_dmg(installeritem, options)

              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/munki/munkilib/admin/pkginfolib.py", line 233, in get_catalog_info_from_dmg

    iteminfo = getiteminfo(itempath)

               ^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/munki/munkilib/admin/pkginfolib.py", line 338, in getiteminfo

    if key in plist:

       ^^^^^^^^^^^^

TypeError: argument of type 'NoneType' is not iterable


The structure of an iPad/iOS app bundle installed on macOS is very different from a macOS app, and munkiimport does not know how to deal with it. You could manually construct a pkginfo that copies the app bundle to /Applications and that uses /Applications/Foo.app/Wrapper/Foo.app/Info.plist to determine the version.


It’s not clear to me how common the need is to deploy iPad/iOS apps on Apple silicon via Munki is and whether it might be worth it to extend makepkginfo and munkiimport to deal “properly” with them. Any thoughts?


-Greg

Ben Toms

unread,
Mar 5, 2025, 2:10:54 PMMar 5
to munki-...@googlegroups.com, munki-dev

I’m pretty sure these are MDM-deployable to macOS too.. so likely the same reasons to deploy to macOS via Munki as folks do with VPP apps… but more niche.

Regards,

Ben


--
You received this message because you are subscribed to the Google Groups "munki-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to munki-discus...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/munki-discuss/88077989-2233-48E9-9B09-45B7C1AE38D0%40mac.com.

alan...@gmail.com

unread,
Mar 5, 2025, 2:18:22 PMMar 5
to munki-discuss
We've come across this, and I basically wrote a script to construct the pkginfo and write it to a plist and create a .dmg manually.

My script looks for /Applications/NAMEOFAPP.app/Wrapper/NAMEOFAPP.app/Info.plist to get the CFBundleShortVersionString.

It'd be nice if Munki had native functionality to munkiimport these iPad/iOS apps, but I guess it really depends on how many people this affects.

Reply all
Reply to author
Forward
0 new messages