Date   

measuring Metal FPS

James Walker
 

When running a macOS app rendering with Metal under the Xcode 12 debugger, the debug navigator displays FPS (frame rate) among other things. But if I launch the program outside Xcode and attach to the process, the debug navigator does not show FPS, though it does show memory usage and such. What's up with that? I tried changing the Run mode of the scheme to use the Release build instead of the the Debug build, but then rendering was quite noticeably slower. Is there some quick way to get a frame rate? I'm aware that Instruments can measure various things relating to Metal, but it's not obvious to me how to see something as simple as a frame rate.


Re: Freshly made Apple Developer and Distribution certs certs not trusted.

Alex Zavatone
 

Well, how interesting.

Installing the AWWDRCA cert from here enabled my freshly created certs even though I already had a valid AWWDRCA cert installed.


Even though I had a valid AWWDRCA cert installed in the keychain, it wasn’t good enough.  I now have 3 valid ones.


Note that one expires on Feb 7, 2023 and the other expires on Feb 19, 2030.

I hope this is useful to others.

Cheers,
Alex Zavatone


On Mar 17, 2021, at 1:17 PM, Alex Zavatone via groups.io <zav@...> wrote:

Has anyone run in to this?  I just made brand new “Apple” distro and dev certs and both appear to be not trusted because “no root certificate found”.

The issuer name is Apple Worldwide Developer Relations Certification Authority.

Checking out my installed certs now and the Apple WWDC cert.

Thanks.
Alex Zavatone






Freshly made Apple Developer and Distribution certs certs not trusted.

Alex Zavatone
 

Has anyone run in to this? I just made brand new “Apple” distro and dev certs and both appear to be not trusted because “no root certificate found”.

The issuer name is Apple Worldwide Developer Relations Certification Authority.

Checking out my installed certs now and the Apple WWDC cert.

Thanks.
Alex Zavatone


Re: Provisioning Profile Manager

Jack Brindle
 

Alex;

Thanks for the info. With Provisioning Profiles starting to be important for Mac development, utilities of this sort are becoming useful for us Mac types as well.

Jack

On Feb 26, 2021, at 11:02 AM, Alex Zavatone via groups.io <zav=mac.com@groups.io> wrote:

I’m not sure where I came across this, but remembering a discussion we had about either certs or provisioning profiles, I thought I’d share this tool with the group.

Provisioning Profile Manager

https://apps.apple.com/us/app/provisioning-profile-manager/id1386246293?mt=12

One reason why tools like these matter is in at least one of Xcode’s processes where it uses certs or profiles will fail if one of your certs is expired. I think this is in build validation with the App Store on iOS. From what I remember from 2015 is that if you have a valid cert backing your provisioning profile(s) and you also have one expired one in your keychain, it’s the invalid one that invalidates an IPA verification with the App Store for upload.

Cheers,
Alex Zavatone




Provisioning Profile Manager

Alex Zavatone
 

I’m not sure where I came across this, but remembering a discussion we had about either certs or provisioning profiles, I thought I’d share this tool with the group.

Provisioning Profile Manager

https://apps.apple.com/us/app/provisioning-profile-manager/id1386246293?mt=12

One reason why tools like these matter is in at least one of Xcode’s processes where it uses certs or profiles will fail if one of your certs is expired. I think this is in build validation with the App Store on iOS. From what I remember from 2015 is that if you have a valid cert backing your provisioning profile(s) and you also have one expired one in your keychain, it’s the invalid one that invalidates an IPA verification with the App Store for upload.

Cheers,
Alex Zavatone


Re: Problem with IB in Xcode 12.4

Sak Wathanasin
 



On 24 Feb 2021, at 01:13, Jack Brindle via groups.io <jackbrindle@...> wrote:

On the top left side of the middle section of the Xcode window there is an icon that consists of four squares. Click on it and you will find the counterparts item you seek, along with quite a few other things (like “Recent Files”, “Changed Files” and some more actually useful items.


Thanks for that & to Dave for pointing out that the commands are still there under "Navigation". I'm having to use the "4-squares" (what do you call it?)  menu, but my fingers are conditioned to hit that key-combo and it's disconcerting to say the least when an unexpected file appears.

Update: A little more experimentation shows that if I have foo.m, foo.h and footest.m, that key combo cycles between them. So I guess it's a "feature".

And the control-drag in IB now works for me, so I must have been having an off day.

Sorry for the waste of bandwaidth!

Sak


Re: Problem with IB in Xcode 12.4

Jack Brindle
 

On the top left side of the middle section of the Xcode window there is an icon that consists of four squares. Click on it and you will find the counterparts item you seek, along with quite a few other things (like “Recent Files”, “Changed Files” and some more actually useful items.

I think Apple moves things around just to do it.

Jack

On Feb 23, 2021, at 2:38 PM, Sak Wathanasin <sw@network-analysis.ltd.uk> wrote:

In XC 12.4, control-dragging from a widget in an XIB to a .m file to create an action or to a .h to create an outlet no lnger seems to work. It pops up some error. Works in 12.3 though. Did I imagine it or has someone already posted about it here? If not, I'll raise a bug report.

Also, control-command-up -arrow (or down-arrow) to switch between .m & .h files no longer works (even in 12.3). Instead it tries to open a matching unit test file. I guess this may be for the convenience of Swifties, but some of us still have to work with ObjC files. Since this key-combo doesn't appear in the key-shortcuts ("Open Counterpart" having been removed from the File menu ages ago), any ideas as to how I can get the old behaviour back? My fingers are conditioned to use this key-combo.

Thanks
Sak






Re: Problem with IB in Xcode 12.4

davelist@...
 

On Feb 23, 2021, at 5:38 PM, Sak Wathanasin <sw@network-analysis.ltd.uk> wrote:

In XC 12.4, control-dragging from a widget in an XIB to a .m file to create an action or to a .h to create an outlet no lnger seems to work. It pops up some error. Works in 12.3 though. Did I imagine it or has someone already posted about it here? If not, I'll raise a bug report.

Also, control-command-up -arrow (or down-arrow) to switch between .m & .h files no longer works (even in 12.3). Instead it tries to open a matching unit test file. I guess this may be for the convenience of Swifties, but some of us still have to work with ObjC files. Since this key-combo doesn't appear in the key-shortcuts ("Open Counterpart" having been removed from the File menu ages ago), any ideas as to how I can get the old behaviour back? My fingers are conditioned to use this key-combo.

Thanks
Sak
I didn't check the first one, but for the second one, that still works for me with Objective-C. It's in the Navigate menu (not the File menu) - Jump to Previous Counterpart and Jump to Next Counterpart for control-command down and up arrow. Now the file I tested it with are just .h and .m (no matching unit test file with same prefix as file), but I'd try the menu options first to see what they do.

Dave


Re: Problem with IB in Xcode 12.4

Alex Zavatone
 

On Feb 23, 2021, at 4:38 PM, Sak Wathanasin <sw@network-analysis.ltd.uk> wrote:

In XC 12.4, control-dragging from a widget in an XIB to a .m file to create an action or to a .h to create an outlet no lnger seems to work. It pops up some error. Works in 12.3 though. Did I imagine it or has someone already posted about it here? If not, I'll raise a bug report.

Also, control-command-up -arrow (or down-arrow) to switch between .m & .h files no longer works (even in 12.3). Instead it tries to open a matching unit test file. I guess this may be for the convenience of Swifties, but some of us still have to work with ObjC files. Since this key-combo doesn't appear in the key-shortcuts ("Open Counterpart" having been removed from the File menu ages ago), any ideas as to how I can get the old behaviour back? My fingers are conditioned to use this key-combo.

Thanks
Sak
Does command control up or down work after a successful build? I’ve seen it being really flakey recently but haven’t bothered to try and narrow it down as to what causes it.


Problem with IB in Xcode 12.4

Sak Wathanasin
 

In XC 12.4, control-dragging from a widget in an XIB to a .m file to create an action or to a .h to create an outlet no lnger seems to work. It pops up some error. Works in 12.3 though. Did I imagine it or has someone already posted about it here? If not, I'll raise a bug report.

Also, control-command-up -arrow (or down-arrow) to switch between .m & .h files no longer works (even in 12.3). Instead it tries to open a matching unit test file. I guess this may be for the convenience of Swifties, but some of us still have to work with ObjC files. Since this key-combo doesn't appear in the key-shortcuts ("Open Counterpart" having been removed from the File menu ages ago), any ideas as to how I can get the old behaviour back? My fingers are conditioned to use this key-combo.

Thanks
Sak


Question about Push notification server new cert

Owen Hartnett
 

I’m running a push notification server for our app. It’s working fine. I came across this notice:

https://developer.apple.com/news/?id=7gx0a2lp

and I’m confused where these new certs go.

Previously, just had to generate a push cert through the developer portal and use that cert to send through Pushy (a java apns library) to connect to the server.

It sounds like there’s going to be an additional burden.

Does this mean:

a) I just have to regenerate a new cert through the developer portal and use that

b) I need to download the new certs, install them somewhere in my linux box which is our provider into APNS.

If b), do I install this like an apache certificate (I’m running apache), or does it go into some special linux place for certs

It’s unclear to me where this cert fits in, and where I need to place it.

FYI: I’m running a Certificate-based connection to APNs using a java webapp under Apache.

Any pointers you can give would be helpful.

Thanks!

-Owen


Re: Problems with exporting an archived app

Giacomo Tufano
 

About Xcode caches and various files, I can recommend DevCleaner (for free on the Mac Store, I’m not affiliated in any way, I’m just an happy user). It makes easier to remove files than manually look into ~/Library/Developer (and gives you an idea of how much space the actions will free)

Il giorno 11 feb 2021, alle ore 19:27, Alex Zavatone via groups.io <zav@...> ha scritto:


As an Xcode developer, our drives get filled up way too easily.  You can look in several places for several GB to recover.

For example, checking the ~/Library/Developer folder on this Mac shows that I’ve got 64 GB used in that folder.
33.23GB for the Xcode folder 
30.67GB for the CoreSimulator folder

Within the ~/Library/Develope/Xcode folder, the big eaters of space are in iOS DeviceSupport  from all OSes from 9.1 to 14.3 with 30 GB used.  Check yours and see what can be thinned out.


Re: Problems with exporting an archived app

John Brownie
 

Hi Alex,

That's all helpful stuff. I had a look and there was a little I could remove, but not a huge amount, after the delete/reinstall dance with Xcode yesterday. I use Grand Perspective to see where the big files are, and that showed me some modest gains.

My problem is that I have a seven year old MBP with only a 500GB internal drive, and developing Mac software is only part of my job. The main part of job also requires me to have a bunch of things that occupy a lot of disk space. Of course, I could move my music library off the internal drive, but I do like to listen to music when I'm working!

I'm not partial to needing to have an external drive always plugged in. My job requires me (in normal times!) to travel internationally, often working in odd places where a minimal amount of hardware is an advantage.

My hope is that Apple will bring out a new MacBook Pro 15"or 16" this year, and I can get one of those, with a larger internal drive, which will make life much easier. Given the current state of things with virtualisation on Apple Silicon, my current MBP may be the one to host the Windows and Linux VMs I need for different tasks, so spreading the data over two machines.

John

Alex Zavatone via groups.io wrote on 11/2/21 20:27:

I'm always pressed for space on my computer, so I don't have enough spare space to have both versions installed. If this persists, I may have to work out what I can move to an external disk and have both available.
John, may I recommend several things to help you with computer space.

https://ingmarstein.github.io/Monolingual/

This app lets you remove language translations from apps for languages that you will never use. It’s generally good for a few GB.


As an Xcode developer, our drives get filled up way too easily. You can look in several places for several GB to recover.

For example, checking the ~/Library/Developer folder on this Mac shows that I’ve got 64 GB used in that folder.
33.23GB for the Xcode folder
30.67GB for the CoreSimulator folder

Within the ~/Library/Develope/Xcode folder, the big eaters of space are in iOS DeviceSupport from all OSes from 9.1 to 14.3 with 30 GB used. Check yours and see what can be thinned out.



There’s also a lovely trick that you can do if you have a fast external drive. Move your user folder to the external. This can also help with R/W performance as all reads & writes may be going through a separate bus than your system and apps. From the System Preferences, select Users & Groups. Click the lock to unlock and enter your password. Pressing control, click on your user name and select Advanced Options and then next to Home directory: click the Choose… button and select a folder on your external. All of your user data will be migrated to the external drive.

In the past I did this to test out moving my entire user folder to a RAM drive for nearly instant builds on iOS.

https://vimeo.com/172822499

You should also right click on Xcode and select Show Package Contents. View the directory as list, press command J and make sure to select Calculate all Sizes and then sort by Size in descending order.
/Contents/Developer/Platforms will be the largest folder.
Mine is 14GB
Look at all the platforms you never develop for and delete them.

MacOS also isn’t perfect. Look in /Library/Updates and see how large that folder is. Delete the contents if there is anything there you don’t need. I just found almost 2 GB of .pkg files sitting in there from 10.12.6.

Looking in /Library I just found another 700 MB for an old defunct install of MacOS Server from 2016 that I no longer need.

You can also do a quick check for duplicates or large files by performing a command F in the Finder, clicking + and searching for File Size that is > 1 GB. I’ve just found 3 copies of the same 80 GB sparseimage that can be nuked as well as a bunch of old 40 GB VMs.

I hope this helps. If you want, you can email me off list and I can give you a few more details if you wish to let me know which Mac you’re currently using. I’ve taken a few older MacBooks and added large internal SSDs without blowing the heat profile out of the water. Apple’s well on the way to making that impossible these days.






--
John Brownie
Mussau-Emira language, New Ireland Province, Papua New Guinea
Kouvola, Finland


Re: Problems with exporting an archived app

John Brownie
 

James Walker wrote on 12/2/21 01:11:
If you mean the “review zip content” page, I’ve been getting a blank for that for a while. I sent Apple a bug report, but couldn’t tell them how to reproduce it, so it will probably go into the bug black hole.
Yes, that's the one. I sent a bug report along with the archive that exhibits the bug, so hopefully it will move along!

John
--
John Brownie
Mussau-Emira language, New Ireland Province, Papua New Guinea
Kouvola, Finland


Re: Code Signing

Jon Gotow
 

I can parallelize it - I just have to rewrite my scripts to do so and haven't gotten to it yet.

- Jon

On Feb 12, 2021, at 12:01 AM, Alex Zavatone via groups.io <zav=mac.com@groups.io> wrote:



On Feb 11, 2021, at 10:06 PM, Jon Gotow <gotow@stclairsoft.com> wrote:

Agreed - as I wait for 28 separate disk images to notarize (they're TTS Voice installers for a client).

Take a look at this tool for a all-in-one command line:

https://github.com/Mortennn/Notarize/releases/tag/1.0.0

So far it's worked pretty well for me. My only issue is that for the current project I'm doing, a full release involves 28 notarizations, and doing them serially with this tool takes an hour or two. So I'm back to having to roll my own scripts so that I can submit all of their installers at once.

- Jon
Must they all happen serially, or can you parallelize this?






Re: Code Signing

Alex Zavatone
 

On Feb 11, 2021, at 10:06 PM, Jon Gotow <gotow@stclairsoft.com> wrote:

Agreed - as I wait for 28 separate disk images to notarize (they're TTS Voice installers for a client).

Take a look at this tool for a all-in-one command line:

https://github.com/Mortennn/Notarize/releases/tag/1.0.0

So far it's worked pretty well for me. My only issue is that for the current project I'm doing, a full release involves 28 notarizations, and doing them serially with this tool takes an hour or two. So I'm back to having to roll my own scripts so that I can submit all of their installers at once.

- Jon
Must they all happen serially, or can you parallelize this?


Re: Code Signing

Leo
 

On Thu, Feb 11, 2021 at 08:06 PM, Jon Gotow wrote:
Take a look at this tool for a all-in-one command line:
Thanks, good to know someone made such a tool.

I do have my own utilities that automate the entire process as I release updates often (albeit not 28 in one day!)


Leo


Re: Code Signing

Shane Stanley
 

On 12 Feb 2021, at 3:07 pm, Jack Brindle via groups.io <jackbrindle=me.com@groups.io> wrote:

Another way to think of it - do you really want to be responsible for someone else’s code?
If I'm bundling it in my app, I already am.

--
Shane Stanley <sstanley@myriad-com.com.au>
<www.macosxautomation.com/applescript/apps/>, <latenightsw.com>


Re: Code Signing

Jack Brindle
 

I would disagree. There are very specific circumstances where the embedded code must be signed by the original developer. Anything that is shared falls into this category. If you re-sign a shared third-party dext or sext you won’t get the behavior you want, and you will break other vendors applications. Another way to think of it - do you really want to be responsible for someone else’s code? In some cases you would be breaking the agreement you made to use that framework, bundle, tool, or other piece of code.

In general, if it comes signed, leave it that way and don’t overwrite it with another signature. You just might be breaking it. Worse, lawyers just might get involved...

Jack

On Feb 11, 2021, at 8:01 PM, Shane Stanley <sstanley@myriad-com.com.au> wrote:

On 11 Feb 2021, at 9:53 am, Jack Brindle via groups.io <jackbrindle=me.com@groups.io> wrote:

If you have any third party components, it will overwrite their signature with yours.
Which is what you generally want. The code in the bundle should all be signed with the same identity.

--
Shane Stanley <sstanley@myriad-com.com.au>
<www.macosxautomation.com/applescript/apps/>, <latenightsw.com>






Re: Code Signing

Jon Gotow
 

Agreed - as I wait for 28 separate disk images to notarize (they're TTS Voice installers for a client).

Take a look at this tool for a all-in-one command line:

https://github.com/Mortennn/Notarize/releases/tag/1.0.0

So far it's worked pretty well for me. My only issue is that for the current project I'm doing, a full release involves 28 notarizations, and doing them serially with this tool takes an hour or two. So I'm back to having to roll my own scripts so that I can submit all of their installers at once.

- Jon

On Feb 11, 2021, at 8:56 PM, Leo <leo.r@rogers.com> wrote:

What we had to get instead is a single command line tool that would do everything notarization is supposed to do, whatever it is, in one take - and return a clear result (success or otherwise). This tool would take care of polling the results on Apple's server and deal properly with zip, dmg, app and whatever else would be fed to it. Developers really shouldn't be intimately involved in every minutia of the notarization process.

1 - 20 of 1369