LeoNatan / LNPopupController

A framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps.
MIT License
3.04k stars 342 forks source link

SPM resource management is not working #527

Closed 0si43 closed 2 years ago

0si43 commented 2 years ago

Describe the solution you'd like

Additional context

LeoNatan commented 2 years ago

What do you mean “dynamic setting prevent to build on Xcode Cloud”? That makes no sense, I’m sorry. Your PR complicates the package, but I see no reason why it’s necessary.

LeoNatan commented 2 years ago

Post the exact error you are getting when building.

0si43 commented 2 years ago

@LeoNatan 🫡Okay, let me explain in detail.

The exact error message is below.

ITMS-90334: Invalid Code Signature Identifier. The identifier "LNPopupController-55554944823d173b292035d5a9f68255954da87b" in your code signature for "LNPopupController" must match its Bundle Identifier "LNPopupController"

This error is caused by explicitly specifying LibraryType. Removing the library type means Xcode will link the package statically if the package is only imported by one target.

To be more specific, please see thread below.

https://developer.apple.com/forums/thread/708284?answerId=732491022#732491022

LeoNatan commented 2 years ago

So this is an Apple bug 🤦‍♂️ what a silly, garbage company. They are really incapable of doing anything right these days.

But I'm not convinced I should accept the PR. Perhaps just remove the static altogether. It was needed in the past due to another Apple bug. 🤦‍♂️

LeoNatan commented 2 years ago

refactor how your targets are structured, reducing the reliance on the package to a single target, so that this becomes the first scenario I described where Xcode can safely link the library statically while avoiding the code signing error, as well as avoiding duplicate symbol issues.

This isn't possible for my library, because SPM does not support mixed languages. 🤦‍♂️

LeoNatan commented 2 years ago

I'm sorry, I won't dirty up the framework and package for Apple bugs. Please fork, if you must, and make the change for your builds. I'd suggest using a proper CI solution, one not build by Apple.