Date   

Xcode 11 unusable?

Leo
 

Is it just my luck - or is Xcode 11 unusable?

I just finally updated to Catalina and installed Xcode 11 (all latest versions of course).

Xcode 11 is totally non-responsive.

In Interface Builder, when I click elements they're not selected right away but after a brief delay. And then it takes several seconds until the info in the inspector updates.

Same thing in the code: everything happens after a brief delay. Code completion doesn't work at all.

Restarted Mac, quit Xcode several times - same thing in all project.


Xcode 10 works with no issues.


iMac 2017 27", 40 GB RAM

Any ideas?

Thanks,
Leo


Re: No Team ID, not a platform binary

Carl Hoefs
 

I enabled "Hardened Runtime" on the library, but it didn't fix the problem.

It does no I/O, only computation on some input values, and returns a double. Straight C code.
Since Xcode knows it's creating a dylib, wouldn't it set the necessary entitlements?
Does the same signing scenario apply to .a libs?

-Carl


Re: No Team ID, not a platform binary

Jack Brindle
 

It will need hardened runtime at the least. It also may need an exception that allows other apps to use the library. I don’t know if it needs Notarization - since it is a dylib and not a framework I tend to doubt it can be notarized.

Jack


On May 5, 2020, at 8:20 PM, Carl Hoefs <newslists@...> wrote:

Does the library need certain entitlements? I have it set to "Apple Development" as the Code Signing Identity. Signing is set to automatic.

-Carl


Re: No Team ID, not a platform binary

Carl Hoefs
 

Does the library need certain entitlements? I have it set to "Apple Development" as the Code Signing Identity. Signing is set to automatic.

-Carl


Re: No Team ID, not a platform binary

Alex Zavatone
 

Look at the General Info or Code Signing section of the target.

On May 5, 2020, at 7:59 PM, Carl Hoefs <newslists@autonomy.caltech.edu> wrote:

I've created a dynamic C library, libgauss.dylib, and copied it into /usr/local/lib.

My MacOS 10.14 app builds fine against it, but won't run, complaining that the library doesn't have a "Team ID" and is not a "platform binary".

What does this mean? How can I set this to work?

-Carl




dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /usr/local/lib/libgauss.dylib
Referenced from: /Users/USER/NIHProject/*/NIHGauss.app/Contents/MacOS/NIHGauss
Reason: no suitable image found. Did find:
/usr/local/lib/libgauss.dylib: code signature in (/usr/local/lib/libgauss.dylib) not valid for use in process using Library Validation: mapping process has no Team ID and is not a platform binary
/usr/local/lib/libgauss.dylib: stat() failed with errno=1
/usr/local/lib/libgauss.dylib: code signature in (/usr/local/lib/libgauss.dylib) not valid for use in process using Library Validation: mapping process has no Team ID and is not a platform binary



No Team ID, not a platform binary

Carl Hoefs
 

I've created a dynamic C library, libgauss.dylib, and copied it into /usr/local/lib.

My MacOS 10.14 app builds fine against it, but won't run, complaining that the library doesn't have a "Team ID" and is not a "platform binary".

What does this mean? How can I set this to work?

-Carl




dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /usr/local/lib/libgauss.dylib
Referenced from: /Users/USER/NIHProject/*/NIHGauss.app/Contents/MacOS/NIHGauss
Reason: no suitable image found. Did find:
/usr/local/lib/libgauss.dylib: code signature in (/usr/local/lib/libgauss.dylib) not valid for use in process using Library Validation: mapping process has no Team ID and is not a platform binary
/usr/local/lib/libgauss.dylib: stat() failed with errno=1
/usr/local/lib/libgauss.dylib: code signature in (/usr/local/lib/libgauss.dylib) not valid for use in process using Library Validation: mapping process has no Team ID and is not a platform binary


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

John Brownie
 

Thank you to all who responded. It's great to have such a useful group of people available!

Putting the binary into a Run Script phase works nicely. Since I already had a post-build Run Script phase to sign certain things, I was able to put the copy into that script. It built fine, archived, and notarised successfully. So I'm back to being productive without having to try to set up a Mojave environment for the build process.

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


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

John Brownie
 

Thanks for the suggestions. I'll try a script phase when I get back to it tomorrow, and report back.

John

Leo wrote on 19/4/20 05:01:

yeahh of course it's the RUN SCRIPT not Copy phase... just correcting myself. that's what i also meant in my earlier post - to use a script to copy whatever John needs from wherever during a build phase. although i don't know if it'll help in this particular case anyway...

thanks,
Leo

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


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Leo
 

yeahh of course it's the RUN SCRIPT not Copy phase... just correcting myself. that's what i also meant in my earlier post - to use a script to copy whatever John needs from wherever during a build phase. although i don't know if it'll help in this particular case anyway...

thanks,
Leo


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Sandor Szatmari
 

R.I.F. ;)  Thanks!

Sandor

On Apr 18, 2020, at 14:37, Alex Zavatone via groups.io <zav@...> wrote:

There’s also a checkbox in every Run Script build phase that does exactly that.  It dumps out to the build console.  Show environment variables in build log. 

<PastedGraphic-10.png>



On Apr 18, 2020, at 1:33 PM, Sandor Szatmari <admin.szatmari.net@...> wrote:

When I need to see all the build environment variables Xcode can see I just add a run script with the command ‘printenv’ in it.  Then I find what I need in the results shown in Xcode.

Sandor

On Apr 18, 2020, at 14:26, Alex Zavatone via groups.io <zav@...> wrote:

Jack, it might help John if you posted one of those scripts if you’re able to.  Getting used to all the build environment variables and logging the results to a good place can take a bit of time to get good enough.



On Apr 18, 2020, at 10:51 AM, Jack Brindle via groups.io <jackbrindle@...> wrote:

John;

There may be another way. Create a shell script to copy the binary into the application, then call it from a script phase in the target build. Be sure to use the ditto command for the copy so that you get all the meta parameters for the file(s).

We do our builds from shell scripts. They include copying, signing and notarization among other things, and do include third party libraries. I am pretty sure that I have updated all 32-bit binaries to 64 bits, however.

The Notarization requirements are driven for the most part from the Apple side, so if the app Notarized since the end of February on Mojave, then I would expect it to also do so on Catalina. Also note that you can build with either Xcode 10 or 11 on Catalina - just give them separate names and use Xcode-select to select the one you want. Xcode 10 may not have the limitation that you see with Xcode 11. The February date is important since the heightened requirements such as hardened runtime came into effect at that time. This is part of code signing, which means the vendor supplying the binary must have signed it with hardened runtime and the exception that allows others to include it in their apps.

Jack

On Apr 18, 2020, at 12:11 AM, John Brownie <john_brownie@...> wrote:

You can notarise with a 32-bit binary as part of the bundle, at least on Mojave. It looks as though Apple want us to drop support for older systems and special cases like mine. I'll be pursuing getting a build environment with Mojave.

John 

On Sat 18. Apr 2020 at 9.09, Leo <leo.r@...> wrote:
frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!


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




Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Alex Zavatone
 

There’s also a checkbox in every Run Script build phase that does exactly that.  It dumps out to the build console.  Show environment variables in build log. 




On Apr 18, 2020, at 1:33 PM, Sandor Szatmari <admin.szatmari.net@...> wrote:

When I need to see all the build environment variables Xcode can see I just add a run script with the command ‘printenv’ in it.  Then I find what I need in the results shown in Xcode.

Sandor

On Apr 18, 2020, at 14:26, Alex Zavatone via groups.io <zav@...> wrote:

Jack, it might help John if you posted one of those scripts if you’re able to.  Getting used to all the build environment variables and logging the results to a good place can take a bit of time to get good enough.



On Apr 18, 2020, at 10:51 AM, Jack Brindle via groups.io <jackbrindle@...> wrote:

John;

There may be another way. Create a shell script to copy the binary into the application, then call it from a script phase in the target build. Be sure to use the ditto command for the copy so that you get all the meta parameters for the file(s).

We do our builds from shell scripts. They include copying, signing and notarization among other things, and do include third party libraries. I am pretty sure that I have updated all 32-bit binaries to 64 bits, however.

The Notarization requirements are driven for the most part from the Apple side, so if the app Notarized since the end of February on Mojave, then I would expect it to also do so on Catalina. Also note that you can build with either Xcode 10 or 11 on Catalina - just give them separate names and use Xcode-select to select the one you want. Xcode 10 may not have the limitation that you see with Xcode 11. The February date is important since the heightened requirements such as hardened runtime came into effect at that time. This is part of code signing, which means the vendor supplying the binary must have signed it with hardened runtime and the exception that allows others to include it in their apps.

Jack

On Apr 18, 2020, at 12:11 AM, John Brownie <john_brownie@...> wrote:

You can notarise with a 32-bit binary as part of the bundle, at least on Mojave. It looks as though Apple want us to drop support for older systems and special cases like mine. I'll be pursuing getting a build environment with Mojave.

John 

On Sat 18. Apr 2020 at 9.09, Leo <leo.r@...> wrote:
frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!


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




Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Sandor Szatmari
 

When I need to see all the build environment variables Xcode can see I just add a run script with the command ‘printenv’ in it.  Then I find what I need in the results shown in Xcode.

Sandor

On Apr 18, 2020, at 14:26, Alex Zavatone via groups.io <zav@...> wrote:

Jack, it might help John if you posted one of those scripts if you’re able to.  Getting used to all the build environment variables and logging the results to a good place can take a bit of time to get good enough.



On Apr 18, 2020, at 10:51 AM, Jack Brindle via groups.io <jackbrindle@...> wrote:

John;

There may be another way. Create a shell script to copy the binary into the application, then call it from a script phase in the target build. Be sure to use the ditto command for the copy so that you get all the meta parameters for the file(s).

We do our builds from shell scripts. They include copying, signing and notarization among other things, and do include third party libraries. I am pretty sure that I have updated all 32-bit binaries to 64 bits, however.

The Notarization requirements are driven for the most part from the Apple side, so if the app Notarized since the end of February on Mojave, then I would expect it to also do so on Catalina. Also note that you can build with either Xcode 10 or 11 on Catalina - just give them separate names and use Xcode-select to select the one you want. Xcode 10 may not have the limitation that you see with Xcode 11. The February date is important since the heightened requirements such as hardened runtime came into effect at that time. This is part of code signing, which means the vendor supplying the binary must have signed it with hardened runtime and the exception that allows others to include it in their apps.

Jack

On Apr 18, 2020, at 12:11 AM, John Brownie <john_brownie@...> wrote:

You can notarise with a 32-bit binary as part of the bundle, at least on Mojave. It looks as though Apple want us to drop support for older systems and special cases like mine. I'll be pursuing getting a build environment with Mojave.

John 

On Sat 18. Apr 2020 at 9.09, Leo <leo.r@...> wrote:
frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!


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



Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Alex Zavatone
 

Jack, it might help John if you posted one of those scripts if you’re able to.  Getting used to all the build environment variables and logging the results to a good place can take a bit of time to get good enough.



On Apr 18, 2020, at 10:51 AM, Jack Brindle via groups.io <jackbrindle@...> wrote:

John;

There may be another way. Create a shell script to copy the binary into the application, then call it from a script phase in the target build. Be sure to use the ditto command for the copy so that you get all the meta parameters for the file(s).

We do our builds from shell scripts. They include copying, signing and notarization among other things, and do include third party libraries. I am pretty sure that I have updated all 32-bit binaries to 64 bits, however.

The Notarization requirements are driven for the most part from the Apple side, so if the app Notarized since the end of February on Mojave, then I would expect it to also do so on Catalina. Also note that you can build with either Xcode 10 or 11 on Catalina - just give them separate names and use Xcode-select to select the one you want. Xcode 10 may not have the limitation that you see with Xcode 11. The February date is important since the heightened requirements such as hardened runtime came into effect at that time. This is part of code signing, which means the vendor supplying the binary must have signed it with hardened runtime and the exception that allows others to include it in their apps.

Jack

On Apr 18, 2020, at 12:11 AM, John Brownie <john_brownie@...> wrote:

You can notarise with a 32-bit binary as part of the bundle, at least on Mojave. It looks as though Apple want us to drop support for older systems and special cases like mine. I'll be pursuing getting a build environment with Mojave.

John 

On Sat 18. Apr 2020 at 9.09, Leo <leo.r@...> wrote:
frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!


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



Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Alex Zavatone
 

Just add a shell script that does it for you.  The build environment variables are exposed so you will know where to copy to and you can copy from anywhere on your Mac’s drive.

On Apr 18, 2020, at 12:56 AM, John Brownie <john_brownie@...> wrote:

Yes, it's a binary that I get from a third party that goes into the executables folder. Is there a way to copy it there in a way that allows me to build the app and go through the whole notarisation process?

John 

On Sat 18. Apr 2020 at 8.47, Leo <leo.r@...> wrote:
ok if you need to build that binary then Xcode won't do it on Catalina. i thought it might be something already compiled that you just need to include in the app package.

 Leo


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


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Jack Brindle
 

John;

There may be another way. Create a shell script to copy the binary into the application, then call it from a script phase in the target build. Be sure to use the ditto command for the copy so that you get all the meta parameters for the file(s).

We do our builds from shell scripts. They include copying, signing and notarization among other things, and do include third party libraries. I am pretty sure that I have updated all 32-bit binaries to 64 bits, however.

The Notarization requirements are driven for the most part from the Apple side, so if the app Notarized since the end of February on Mojave, then I would expect it to also do so on Catalina. Also note that you can build with either Xcode 10 or 11 on Catalina - just give them separate names and use Xcode-select to select the one you want. Xcode 10 may not have the limitation that you see with Xcode 11. The February date is important since the heightened requirements such as hardened runtime came into effect at that time. This is part of code signing, which means the vendor supplying the binary must have signed it with hardened runtime and the exception that allows others to include it in their apps.

Jack

On Apr 18, 2020, at 12:11 AM, John Brownie <john_brownie@...> wrote:

You can notarise with a 32-bit binary as part of the bundle, at least on Mojave. It looks as though Apple want us to drop support for older systems and special cases like mine. I'll be pursuing getting a build environment with Mojave.

John 

On Sat 18. Apr 2020 at 9.09, Leo <leo.r@...> wrote:
frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!


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


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

John Brownie
 

You can notarise with a 32-bit binary as part of the bundle, at least on Mojave. It looks as though Apple want us to drop support for older systems and special cases like mine. I'll be pursuing getting a build environment with Mojave.

John 

On Sat 18. Apr 2020 at 9.09, Leo <leo.r@...> wrote:
frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!

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


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Leo
 

frankly, i don't know if you can notarize an app with any kind of 32-bit code inside of it. i suspect you can't.

but once again, i don't know. fortunately, that's at least one aspect of the whole notarization hurdle i didn't have to deal with. so i feel your pain.

good luck!


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

John Brownie
 

Yes, it's a binary that I get from a third party that goes into the executables folder. Is there a way to copy it there in a way that allows me to build the app and go through the whole notarisation process?

John 

On Sat 18. Apr 2020 at 8.47, Leo <leo.r@...> wrote:
ok if you need to build that binary then Xcode won't do it on Catalina. i thought it might be something already compiled that you just need to include in the app package.

 Leo

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


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

Leo
 

ok if you need to build that binary then Xcode won't do it on Catalina. i thought it might be something already compiled that you just need to include in the app package.

 Leo


Re: How to add a 32-bit binary to a bundle in Catalina/Xcode 11.4.1?

John Brownie
 

It is part of a copy files phase, but it seems that Xcode sees a 32-bit binary and refuses to start actually building it.

John 

On Fri 17. Apr 2020 at 21.36, Leo <leo.r@...> wrote:
But all I need to do is copy the binary, nothing else.

Do you need that binary to actually build the app? Because if not then you can just add a Copy build phase to copy it into the app package after build is done (unless I'm missing something).

Leo

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

381 - 400 of 1435