lemonmojo / IconComposer2x

Icon Composer 2x is a replacement for Apple's Icon Composer that supports Retina Resolution Icons.

Home Page:http://www.lemonmojo.com/work

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Save no longer works on macOS Sierra

gingerbeardman opened this issue · comments

The Save dialog appears, and you can click save but the save is not executed and the window stays open.

I just tried to reproduce this but everything works fine on my machine.
Can you provide a short video?

I have the same issue

Gets this alert:
"The document “Untitled” could not be saved as “test.icns”. The file doesn’t exist."

@folofse Well, like previously stated I can't reproduce this here. Can you please include full reproduction steps and preferably a short video that shows what happens?

Hope this might help :)

  1. Start app
  2. Add image to one field (drag and drop).
  3. Try to save.

iconcomposer.mov.zip

@folofse Did you compile the app yourself?

  1. I just downloaded the app fresh from here http://www.lemonmojo.com/work
  2. Started the app
  3. Created new document via File - New
  4. Dragged a .png file into the 1024 section
  5. Went to File - Save
  6. Saved the icns

Everything worked just as it should.

If you compiled the app yourself, please check Xcode's output area for any clues.

No I downloaded the dmg-file, unpacked it and installed it.

I can try to compile it my self later tonight.

Im having some problem to start the project due to the dmgcanvas. I installed the dmgcanvas app, but the directory in usr/bin/dmgcanvas is missing. Im not familiar with the dmgcanvas app and not sure how to fix this issue.

@folofse In DMG Canvas you have to go to the "DMG Canvas - dmgcanvas Tool" menu and install the command line tool to the correct location.

Here's my video.

Installed from fresh download DMG.
I do not use DMG Canvas.

no-save.zip

For a save, console shows:

default 10:17:33.276075 +0000   filecoordinationd   Received claim <private>
default 10:17:33.276391 +0000   filecoordinationd   Claim 5584BDAB-DC9A-452F-8566-64D575B5DBF4 granted in server
default 10:17:33.276427 +0000   filecoordinationd   Claimer for 5584BDAB-DC9A-452F-8566-64D575B5DBF4 is waiting for presenter 768410E8-8D23-49D4-8C54-62C801CDCEF6 on the same item to relinquish
default 10:17:33.276500 +0000   filecoordinationd   Presenter 768410E8-8D23-49D4-8C54-62C801CDCEF6 has finished relinquishing, unblocking claimer for 5584BDAB-DC9A-452F-8566-64D575B5DBF4
default 10:17:33.276551 +0000   filecoordinationd   Claim 5584BDAB-DC9A-452F-8566-64D575B5DBF4 invoked in server
default 10:17:33.276698 +0000   Icon Composer 2x    Claim 5584BDAB-DC9A-452F-8566-64D575B5DBF4 granted in client
default 10:17:33.276741 +0000   Icon Composer 2x    Claim 5584BDAB-DC9A-452F-8566-64D575B5DBF4 invoked in client
error   10:17:33.377390 +0000   Icon Composer 2x    <private>
error   10:17:33.383983 +0000   Icon Composer 2x    <private>

Any thoughts?

@gingerbeardman Unfortunately no, I still can't find a way to reproduce the issue here. Could you please send me a another video where you start fresh and create a new icon and try to save it? thx

Sure, the previous video was taken on my iMac running Sierra 10.12.1 (16B2555).

This new video, with a different error (same one mentioned by @folofse above), was taken on my MacBook Pro Retina running same Sierra.

export.zip

@gingerbeardman This is weird. I followed your steps exactly. In my case, the save went through just fine but the resulting file was damaged. This is to be expected though since the image used isn't square. I then went ahead and used a square image instead and the resulting file was both saved and perfectly readable.

Could you please try the following:

  • Open Terminal.app
  • Enter "which iconutil"
  • Send me the path it spits out

thx,
felix

/usr/bin/iconutil

@gingerbeardman Okay, that's the path IconComposer2x expects. Can you please try to run it and let me know if that works?

Yes, it works.

I am currently having to use it to build my .icns files manually on the command line.

@gingerbeardman I'm running out of ideas. Can you please build the source and let me know if there's anything of interest in the debugger console?

/Users/matt/Downloads/IconComposer2x-master/Icon Composer 2x/LMDocument.m:173:23: Incompatible pointer types initializing 'NSBitmapImageRep *' with an expression of type 'NSImageRep *'

/Users/matt/Downloads/IconComposer2x-master/Icon Composer 2x/LMDocument.m:174:28: Null passed to a callee that requires a non-null argument

and an error due to me not having dmgcnvas installed.

I guess this is the end of the road? Is this bound for the big app graveyard in the sky?

This should be fixed in the latest update (V1.1) which you can either compile yourself or download from here as usual.

Awesome! Thanks.

I can see the changes in the code.

But for others, could you summarise the issues?

Well, I'm not sure why it happens but it seems that after the Sierra update an NSImageView that has no image set, still returns an NSImage object. Further down the line, I tried to read the NSImageRep of that image and cast it to an NSBitmapImageRep which then failed since there is no NSBitmapImageRep in those empty NSImage instances.

Interesting.

How come it worked for you initially? #3 (comment)

As mentioned, this hasn't been an issue prior to Sierra.

So you mean I reported it as a Sierra issue and you were testing on pre-Sierra? Really?

No, what I was trying to say is that the issue only occurred after the Sierra release and I unfortunately didn't have much time to look into the issue. Apart from that, the app is open source so pull requests are always welcome.

@gingerbeardman did you try the latest release available here, as mentioned in my closing comment?

Sorry I just deleted my comment by mistake.

Yes I am using 1.1

screen shot 2017-08-09 at 10 45 32

Actually, I think this is a different problem I will file a new issue.

Sorry it took me so long to file it: #4