Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac Installer v0.5 works, but only for terminal users #1

Open
axello opened this issue Jun 3, 2023 · 6 comments
Open

Mac Installer v0.5 works, but only for terminal users #1

axello opened this issue Jun 3, 2023 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@axello
Copy link

axello commented Jun 3, 2023

I downloaded the new v0.5 installer, for which: thanks!

However, the downloaded file "DeepDeck_Installer_mac_intel" does not have any extension and it is unclear what to do with it: double clicking gives a warning that it is not signed properly. A quick click on the Privacy tab helps there. But looking inside it with a text editor shows a binary structure, not a .pkg or .dmg file. But the downloaded file is not executable. I set the execute bits using the terminal, and then was able to run the installer from the terminal. (I trust DeepSea otherwise)

Please fix this. I doubt the user base of DeepDeck has 35 years of unix experience to chmod u+x a file :-)

@electronick-co electronick-co self-assigned this Jun 3, 2023
@electronick-co
Copy link
Member

Got it. We struggled a lot to get Mac program working and compiling with pyinstaller (also had to do it remotely with Teamviewer as the Mac with Intel we have is literally in another country, lol). Anyway, i will research more into this and will fix it. Thanks for the feedback :D

@electronick-co electronick-co added the bug Something isn't working label Jun 3, 2023
@axello
Copy link
Author

axello commented Jun 3, 2023

I am a fully qualified Mac developer with Intel and M1 Macs, so if you need a guinea pig/tester, I can help.

@electronick-co
Copy link
Member

Awesome! thanks! maybe an idea of how to package better the app? We made it with python (tkintter) and as I'm reading pyinstaller only generate this kind of file without extension. Maybe you have knowledge of another framework to package a python application? Thanks! :D

@axello
Copy link
Author

axello commented Jun 4, 2023

I have experimented with the pyinstaller in this Fork: https://github.com/axello/DeepDeck.programmer
In the origin/Mac_installer_experiments branch.
It creates a proper macOS installer now, BUT I still get a ton of error messages when I run it:

default	23:19:25.247857+0200	tccd	AUTHREQ_SUBJECT: msgID=232.252, subject=us.phlux.deepdeck,
info	23:19:25.247992+0200	tccd	<TCCDProcess: identifier=us.phlux.deepdeck, pid=54740> does not have the com.apple.private.tcc.allow-prompting entitlement for service kTCCServiceDeveloperTool (composed to parent: (null))
info	23:19:25.248016+0200	tccd	<TCCDProcess: identifier=us.phlux.deepdeck, pid=54740> does not have the com.apple.private.tcc.allow-prompting entitlement for service kTCCServiceAll (composed to parent: (null))
info	23:19:25.248030+0200	tccd	<TCCDProcess: identifier=us.phlux.deepdeck, pid=54740> does not have the com.apple.private.tcc.allow-prompting entitlement for service kTCCServiceDeveloperTool (composed to parent: (null))
info	23:19:25.248047+0200	tccd	<TCCDProcess: identifier=us.phlux.deepdeck, pid=54740> does not have the com.apple.private.tcc.allow-prompting entitlement for service kTCCServiceAll (composed to parent: (null))
info	23:19:25.248079+0200	tccd	<TCCDProcess: identifier=us.phlux.deepdeck, pid=54740> does not have the com.apple.private.tcc.system entitlement for service kTCCServiceDeveloperTool (composed to parent: (null))

I think these have to do with the macOS Sandboxing (TCC). This is a shitty subject, but it entails that you have to create entitlements for all the things you want your installer to do: e.g. write files. I have not looked into this further.

I created a bundleID us.phlux.deepdeck, but please create one yourself using your reverse-domain name

I hope this helps!
(Perhaps we can discuss further help outside of these github comments?)

@axello
Copy link
Author

axello commented Jun 4, 2023

Lots of sandbox + tcc info in various places:

From what I read, I don't think having the Installer in a sandbox is a good idea, but I don't know what pyinstaller creates 'out of the box'. I do see an 'entitlements_file' option in de exe class. Perhaps we can add the appropriate entitlements in such a file?
Jack Jansen (first bullet point) has been a Mac python developer for at least 20 years. He might know a thing or two as well.

@slambert
Copy link

slambert commented Sep 19, 2023

Hi - I needed to do this on my m1 mac so for anyone looking to get it running:

  1. In the terminal navigate to the directory the file is downloaded to and run chmod u+x DeepDeck_Installer_mac_m1
  2. enter open DeepDeck_Installer_mac_m1 and you'll see a notification about security settings
  3. Go to you system settings, find Privacy & Security, and click the button that says "open anyway", enter your password, etc and follow along with the dialogue boxes
  4. The program should open through the terminal. If not, try open DeepDeck_Installer_mac_m1 again.

I got the spinning beachball after hitting "erase and program" then it worked. I also had to go into my bluetooth settings and "forget this device" then reconnect after it was updated.

Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants