Xcode 13 woes (and more)

Over a decade ago I bought REALbasic, intending to learn it thoroughly; but I had a full-time job then, and I never got beyond the basics.

So now I need to get up to speed, because a great deal has changed; but I’m finding a few problems:

Some topics don’t seem to be covered in the documentation: for instance, how to design icons and include them in your project. I thought to use Xcode for this, but:

a) the online Apple documentation only talks in generalities.

b) To judge from Amazon, there no longer seem to be any up-to-date books about programming Xcode for Mac OS — they’re all about iOS! (The latest seems to be Learn Xcode Tools for Mac OS X and iPhone Development, by Ian Piper, from 2009!)

I can deal with Swift no problem. But can anyone please recommend a modern Xcode for Mac course, with worked examples?

Also:

I used Xojo to open a Mickey Mouse I’d written in REALbasic (a time-calculator). Xojo complained about the icons being PICTs instead of PNGs (which I fixed); and also about my About box:

AquaAboutBox.name ControlSuper
This control is based on a deprecated class. It is recommended that you update this.

The documentation seems not to mention AquaAboutBox or ControlSuper (unsurprisingly, of course, if they’re out-of date).

So: can anyone tell what has superseded these? Or, preferably, where I can find a list of such features and what has superseded them?

Thanks.

You apparently have a window or control named AquaAboutBox whose super has been depricated. Use search to find AquaAboutBox and then it’s super to one that is current. (it may be a window type?). You change the super in the Inspector just below the control name.
Capture

There are dozens of Icon design tools on the web, but I just use Photoshop.

Thanks Tom,

Yes, the current super seems simply to be Window.

What I meant about icons wasn’t how to create them, but what size they should be these days, and how to incorporate them into the project.

For example, converting from REALbasic has lost the icon in my About box. How do I fix it?

P.S. Interesting too to see that the two screenshots give different sizes, although the specfied dimensions are obviously the same.…

REALbasic:
REALbasic About

Xojo:

Paul, To install application icons in a project you select the App object and then click the Icon as circled in the screenshot below.

This brings up a dialog where you can either paste in or import a file for the icon and if the icon needs a transparency mask you can import or paste that in under that button. To view the mask ap[plied to the Icon you select preview. I never use 8 bit any more and rarely go higher than 256x256 because I’m not supporting High DPI for Windows, but you probably will want the higher resolutions for MacOS.

Screenshot2

I guess it really depends on how you were displaying that icon. I would guess that you had a deprecated picture control and possibly the app can’t find the path to the image you used. If it were me I would add a picture the size you want to use by dragging it into the project and then adding a DesktopImageViewer control and selecting that picture in the inspector. Make sure the picture is the same pixel dimensions as the DesktopImageViewer.

Thanks again Tom,

That basically did the trick; but I still have an oddity: namely, the About Box at runtime is not the same as in the design.

Design:

Runtime:

I hypothesise that this is because AquaAboutBox is now deprecated. My file is called AquaAboutBox.rbw, and when I double-click it on my old Mac, REALbasic opens and displays it no problem. However, Xojo does not recognise it, and when I double-click it, it opens in Xcode (since the System thinks it’s Ruby), which of course displays gibberish.

But what may have superseded AquaAboutBox, I have as yet no idea. There’s nothing about the subject in the Introduction, and there seems to be virtually nothing even in the Documentation. A search for “About Box” in the latter gets no relevant hits, and for AboutBox produces solely this:

Sample code

This code creates and then displays a New instance of a Window called “AboutBox”:

Var w As AboutBox
w = New AboutBox

But attempting to compile this code gives:

Can’t find a type with this name

So once again I should be grateful for any help you can give, and thank you for your patience.

You need to re-export the about box from Xojo if you are using it as an external.

If were me I’d just delete the reference to it in your converted app and just recreate it. It is a simple enough window to easily recreate.