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

has anyone tried newer versions of VStudio w/ this project? #2955

Open
diffent opened this issue Dec 26, 2022 · 6 comments
Open

has anyone tried newer versions of VStudio w/ this project? #2955

diffent opened this issue Dec 26, 2022 · 6 comments

Comments

@diffent
Copy link

diffent commented Dec 26, 2022

docs specify VS2017 Community edition, but that one may not be available any more according to below link.
has anyone tired newer versions of VS Community editions w/ this project with any luck?
would rather not go thru the extensive setup process for this WinObjC on a new machine
if someone already knows that it's not going to work...

https://visualstudio.microsoft.com/vs/older-downloads/

workaround would be to find a VS2017 Community edition download link i guess?

@diffent
Copy link
Author

diffent commented Dec 26, 2022

FYI, I found a VS2017 Community edition installer on the machine on which I originally tried WinObjC from early 2020 if anyone needs it, and it does work w/ WinObjC. It is vs_community__1800053305.1580944127.exe

this was downloaded from the official MS site (back in 2020)

I pushed it to a public repo here if anyone wants to try it

https://github.com/diffent/winobjcutils

this was sitting on a shut down AWS Workspaces node for almost 3 years, so it's probably safe but YMMV. if someone from MS could chime in and tell of an official download site for this particular version, that would be useful.

@triplef
Copy link
Contributor

triplef commented Jan 3, 2023

It doesn’t seem like WinObjC is maintained any longer by Microsoft, which is why I wouldn’t recommend using it. I haven’t tried newer VS versions with it, and it’s likely something will not work correctly with them.

If you’re looking for an alternative you can take a look at GNUstep:
https://github.com/gnustep/tools-windows-msvc

This is using the same Objective-C runtime and compiler support as WinObjC and supports Foundation, CoreFoundation, and libdispatch. It does not include UIKit or some of the other Apple frameworks included in WinObjC, but I’d recommend building a native Windows UI or using a cross-platform UI framework like Qt with it. Hope that helps!

@diffent
Copy link
Author

diffent commented Jan 3, 2023

thanks for the hint on GNUstep triplef, i knew they had open sourced it a long time ago. i hadnt thought of Qt, that is an interesting idea. i actually have a fairly involved winobjc port in the win app store now and i was looking to do some updates. thought I might just get the latest VStudio, but that seems like a bad idea. maybe just use what i have installed when i did the orig port. Qt + GNUStep may be a better idea longer term. then i would only have to re-do the UI. "only," haha.

@triplef
Copy link
Contributor

triplef commented Jan 3, 2023

Yeah we're in the same boat and have been working on porting our WinObjC app to GNUStep + Qt.

The nice thing with Qt is that you can implement your UI on Mac too. And QML is pretty good, a bit similar to SwiftUI actually. We have some glue code that lets us bind QML UI components to our ObjC model using KVO/KVC. One thing you'll need to do is integrate the Foundation run loop with Qt by running it from the Qt run loop. Get in touch if you need help with that, maybe I can share how we do that.

And if you do all that you can run on Android as well with the same setup:
https://github.com/gnustep/tools-android

@diffent
Copy link
Author

diffent commented Jan 3, 2023

Great info, thanks. It looks like vsimporter.exe doesnt work so well on newer xcode project files. I just tried to re-import a newer version of my xcode project, and it gave me a blank Solution in VStudio. Based on what I have been seeing in these git comments, that may be a hint to stop going down this old road. The graphics and fonts and UI seem to be sub-standard anyway from what I see in my prior port from 2020, due to some magnification that goes on to maintain iPad aspect ratio / pixel dimensions. My apps do a lot of drawing w/ iOS 2D CoreGraphics (CG* calls) but it looks like equivalent in Qt is : https://doc.qt.io/qt-6/qpainter.html ... just glancing at QPainter API calls they seem similar to CG. I'll have to look at GNUStep to see if that is a simpler path than just rewriting the whole thing into maybe Javascript / webview.

@mediaexplorer74
Copy link

mediaexplorer74 commented Aug 23, 2023

diffent,
all that you wrote is very interesing :)
You are cool man who installed WinObjC in VS 2017 ) I spent all day today but I failed to build any sample... (((( On my newest VS 2022 Preview , i have no success too.

My very strange idea is to port some simplest web-browser that used apple-depanded WebKit component...
I m big fanboy of Microsoft Lumia phone series... W10M is dead os more than 5 years... so build-in Edge browser is "dead" too...

Best,
MediaExplorer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants