Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Aug 3, 2012, 04:40 PM   #1
danhoo
macrumors newbie
 
Join Date: Jul 2011
Help building a screensaver on Mountain Lion

Hi,

I was wondering if anyone could do me a huge favor. I've got a screensaver XCode 4 project that builds on Snow Leopard, and the resulting screensaver runs successfully on 10.5 through 10.7. However, on 10.8, people are getting an error saying the screensaver is not compatible.

Unfortunately, I don't have a Mountain Lion capable dev system. I'm not even really sure what the issue is. What I'm wondering is if anyone has Mountain Lion and XCode properly configured, if I sent a project, could you try building it, seeing if it works, and then sending me back the resulting screensaver?

-- Dan
danhoo is offline   0 Reply With Quote
Old Aug 4, 2012, 04:53 PM   #2
natas
macrumors newbie
 
Join Date: Aug 2012
Hi danhoo,

I'm currently facing the same problem!

I developed a screen saver on Snow Leopard and it was working fine. But now that I've upgraded to Mountain Lion it stopped working. On System Preferences, I still see my screen saver but the preview window is black and just shows this trimmed text:
"cannot use the MY_SCREEN_SAVER with this version of Mac O
e contact the vendor to get a newer version of the screen saver."

If I click Preview, I just get a black screen and back at the System Preferences the "Screen Saver Options..." button is disabled.

I still get this after rebuilding the screen saver in Mountain Lion with Xcode 4.4 and changing the "OS Deployment Target" to "OS X 10.8".

I'll keep trying to figure this out and will post if I find a solution.
natas is offline   0 Reply With Quote
Old Aug 5, 2012, 01:12 PM   #3
danhoo
Thread Starter
macrumors newbie
 
Join Date: Jul 2011
Hi Natas,

Thanks for your reply -- yeah, that's exactly the same error message that my users are getting on Mountain Lion, the "contact your vendor to get a newer version of this screensaver". When I check places like macupdate.com, it seems like we're not the only ones experiencing this.

That's particularly helpful information that if you build it on 10.8 with the 10.8 deployment target, it still results in this error! Please do let me know whatever you find out. I've been reaching out to other devs I know (so far, no responses) and if I find out anything, I'll post it too.
danhoo is offline   0 Reply With Quote
Old Aug 13, 2012, 06:50 PM   #4
geowar
macrumors newbie
 
Join Date: Dec 2001
Help building a screensaver on Mountain Lion

After I clicked the "validate settings" button (in Xcode 4.4) my screensaver built and ran just fine on Mountain Lion. I didn't save my pre-10.8 project to diff against or I could tell you what changed. Sorry.
geowar is offline   0 Reply With Quote
Old Aug 15, 2012, 03:44 PM   #5
geowar
macrumors newbie
 
Join Date: Dec 2001
For your screensaver to run on Leopard (10.6) thru Mountain Lion (10.8):
GCC_ENABLE_OBJC_GC = supported

Last edited by geowar; Aug 15, 2012 at 05:06 PM.
geowar is offline   0 Reply With Quote
Old Aug 16, 2012, 04:56 PM   #6
danhoo
Thread Starter
macrumors newbie
 
Join Date: Jul 2011
Quote:
Originally Posted by geowar View Post
For your screensaver to run on Leopard (10.6) thru Mountain Lion (10.8):
GCC_ENABLE_OBJC_GC = supported
Thanks Geo! That might be it -- I've got GC set to "required" not "supported". I'll give that a shot.
danhoo is offline   0 Reply With Quote
Old Aug 19, 2012, 05:22 AM   #7
natas
macrumors newbie
 
Join Date: Aug 2012
Hey guys,

Thank you for the tips, but it is still not working for me :s

I validated the settings and checked GCC_ENABLE_OBJC_GC (which was already set to "supported"), but I still get the same behaviour.

Did these steps fix your issue Danhoo?
natas is offline   0 Reply With Quote
Old Aug 21, 2012, 01:04 PM   #8
danhoo
Thread Starter
macrumors newbie
 
Join Date: Jul 2011
Hi Natas. Yes, switching from GC required to supported appears to have fixed the problem for me (confirmed by a couple people running 10.8). Here's a screenshot of my build settings for GC (in XCode 4):



I think that might even be overkill, as I was also able to verify with one user with a build I did on Snow Leopard using XCode 3, where I simply switched the 10.6 GC setting to supported instead of required.

Natas, feel free to send me a PM and I can email you my project if you want to compare the build settings to yours.
danhoo is offline   0 Reply With Quote
Old Aug 29, 2012, 07:50 PM   #9
Madd the Sane
macrumors 6502
 
Join Date: Nov 2010
Location: Utah
Quote:
Originally Posted by danhoo View Post
Hi Natas. Yes, switching from GC required to supported appears to have fixed the problem for me (confirmed by a couple people running 10.8). Here's a screenshot of my build settings for GC (in XCode 4):

Image

I think that might even be overkill, as I was also able to verify with one user with a build I did on Snow Leopard using XCode 3, where I simply switched the 10.6 GC setting to supported instead of required.

Natas, feel free to send me a PM and I can email you my project if you want to compare the build settings to yours.
You're overcomplicating it: 64-bit 10.6 screen savers will run if you set the Garbage Collection to supported: this injects code and tells the Objective-c runtime that the code can run either under garbage collection or without it. If it were me, I'd simplify the whole thing by having the whole of Objective-C garbage collection set to supported.
Just paste the following line in the build settings window:
Code:
GCC_ENABLE_OBJC_GC = supported
But your way will work if you only target 10.8 or 10.6.
In fact, my screen saver from 10.6 built using that setting works fine under ML.
__________________
Get out of my mind, idea! I already have an idea in here!
Madd the Sane is offline   0 Reply With Quote
Old Sep 2, 2012, 02:06 PM   #10
danhoo
Thread Starter
macrumors newbie
 
Join Date: Jul 2011
Quote:
Originally Posted by Madd the Sane View Post
You're overcomplicating it: 64-bit 10.6 screen savers will run if you set the Garbage Collection to supported: this injects code and tells the Objective-c runtime that the code can run either under garbage collection or without it. If it were me, I'd simplify the whole thing by having the whole of Objective-C garbage collection set to supported.
Just paste the following line in the build settings window:
Code:
GCC_ENABLE_OBJC_GC = supported
But your way will work if you only target 10.8 or 10.6.
In fact, my screen saver from 10.6 built using that setting works fine under ML.
Yes, that's basically what I ended up doing anyway -- just use GC Supported for everything. However, I think the issue stems from screensaver developers such as myself originally using GC Required for SL due to a (now out of date) recommendation from Apple:

https://developer.apple.com/library/...66/_index.html

This requirement changed from SL to ML, so thus some of us ended up with screensavers that would mysteriously not load.
danhoo is offline   0 Reply With Quote
Old Sep 22, 2012, 04:41 PM   #11
natas
macrumors newbie
 
Join Date: Aug 2012
Quote:
Originally Posted by danhoo View Post
Hi Natas. Yes, switching from GC required to supported appears to have fixed the problem for me (confirmed by a couple people running 10.8). Here's a screenshot of my build settings for GC (in XCode 4):

Image

I think that might even be overkill, as I was also able to verify with one user with a build I did on Snow Leopard using XCode 3, where I simply switched the 10.6 GC setting to supported instead of required.

Natas, feel free to send me a PM and I can email you my project if you want to compare the build settings to yours.
Hey danhoo,

I'm glad that fixed your issue. Unfortunately, mine remains unfixed.

I can't see the option that you show on the image: "Objective-C Garbage Collection" I guess that's because I'm using the compiler "Apple LLVM compiler 4.1", but I already tried setting a User-Defined Setting for GCC_ENABLE_OBJC_GC and that didn't work.

I also tried setting -fobjc-gc in Other C Flags to no avail. I'm starting to guess this is some other problem.

It would be great if I could have a look at your configs or try to run your screensaver. I tried PMing you, but I get a message saying I don't have permission to do that... I've befriended you, maybe that will allow me to PM you.

Thanks for the help guys!
natas is offline   0 Reply With Quote
Old Sep 23, 2012, 08:26 PM   #12
danhoo
Thread Starter
macrumors newbie
 
Join Date: Jul 2011
Natas, I can't seem to send you a PM either (even though I've got all the appropriate options checked in my user settings). Ping me at danhoo (at) gmail (dot) com.
danhoo is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
Help. Can someone convert the Mountain Lion screensaver images to hi-res wallpaper? Andrewr727 UI Customization 8 Aug 2, 2013 08:25 PM
Resolved: How to do a Clean install of Mountain Lion on Mountain Lion phr33k OS X 12 Feb 6, 2013 11:15 AM
Resolved: Help - How to do a clean install of Mountain Lion on Mountain Lion phr33k Mac Basics and Help 7 Nov 25, 2012 08:13 AM
if i uppgrade to mountain lion will both lion and mountain lion be installed? Popis1991 OS X 10.8 Mountain Lion 2 Sep 16, 2012 08:31 AM
Problem clean installing Mountain Lion over Mountain Lion! datsmabowl OS X 10.8 Mountain Lion 6 Aug 15, 2012 11:13 PM

Forum Jump

All times are GMT -5. The time now is 06:46 AM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC