element-hq / element-ios

A glossy Matrix collaboration client for iOS
https://element.io
GNU Affero General Public License v3.0
1.73k stars 497 forks source link

Port Riot-iOS to MacOS #2052

Open manuroe opened 6 years ago

manuroe commented 6 years ago

An attempt to port Riot on Mac has been attempted using Marzipan (https://pspdfkit.com/blog/2018/porting-ios-apps-to-mac-marzipan-iosmac-uikit-appkit/).

Here is the current conclusion:

Yan Minari 🚁: well, this goes beyond my (lack of) skills. if anyone wants to continue from where I left, you need to:
  - prevent riot from using PushKit.framework, Photos.framework, and MediaPlayer.framework;  
  - prevent riot from using WebRTC framework (because it uses OpenGLES.framework and I don't think it would be quick to prevent it from using that)
  - prevent JitsiMeet.framework from using AssetsLibrary.framework/
  - prevent matrixSDK from using CallKit.framework and possibly avoid more frameworks
it also seems like marzipan don't like VMs too much (maybe due to lack of graphics acceleration), so I would do this on a second mac (because it requires disabling SIP and setting a boot flag)

(https://matrix.to/#/!tDRGDwZwQnlkowsjsm:matrix.org/$1537951534581215VNMHP:matrix.org)

Johennes commented 3 years ago

This might have gotten a lot easier with the Apple Silicon Macs. The Element app is not available in the Mac App Store but after "purchasing" it on an iPhone, I can install it directly on an M1:

Screenshot 2021-03-25 at 20 47 47

I only tested it briefly but it seems to run quite ok. Some of the fonts would need tweaking because they are quite small (see e.g. the timeline). I can join rooms and post messages but I couldn't get cross-device verification to work. It says I'm all set in the Mac app but the verifying session, either on iOS or web, aborts with an unknown error.

Screenshot 2021-03-25 at 20 24 14

I can also build the app to my Mac directly from Xcode after making a few changes, all of which relate to the fact that I'm not part of Element's development team:

aaronraimist commented 3 years ago

It is actually on the App Store. It wasn't for the first few weeks M1 Macs were out but it is now.

screenshot
Johennes commented 3 years ago

Oh, I think I didn't find it because I was only searching for Mac apps then. 🤦‍♂️

But that's even better! 🎉

yangm97 commented 3 years ago

The issue is still relevant for intel macs though.

Johennes commented 3 years ago

That's definitely true. The question might be if it's worth to invest into this long term when it seems to (mostly) work automagically on the M1. Intel Mac users may be well enough served with element-desktop for the time being.

TommyTran732 commented 2 years ago

That's definitely true. The question might be if it's worth to invest into this long term when it seems to (mostly) work automagically on the M1. Intel Mac users may be well enough served with element-desktop for the time being.

They have just flagged it as incompatible :( I really want an app that uses the macOS sandbox instead of an unsandboxed electron app that is Element desktop right now

helmut72 commented 2 years ago

They have just flagged it as incompatible :(

👎

Bad decision. It was at least great to get notifications when no Element was running, regardless Desktop or Mobile client. After reinstalling my MacBook I couldn't find it.