Originally created by @JagCesar on GitHub (May 31, 2016).
Hey!
When I write this in my Cartfile:
github "UrbanApps/Armchair" == 0.1.2
I can't deploy my app to a device. It looks like carthage does something "smart" by downloading the .framework-file attached to that tag. The .framework file in this case has been built by an older compiler (probably a previous version of xcode), and hence I can't deploy it :(
So my question is, why is there a .framework file attached to the tag? And could we get rid of it?
Originally created by @JagCesar on GitHub (May 31, 2016).
Hey!
When I write this in my `Cartfile`:
`github "UrbanApps/Armchair" == 0.1.2`
I can't deploy my app to a device. It looks like carthage does something "smart" by downloading the .framework-file attached to that tag. The .framework file in this case has been built by an older compiler (probably a previous version of xcode), and hence I can't deploy it :(
So my question is, why is there a .framework file attached to the tag? And could we get rid of it?
@JagCesar commented on GitHub (Jun 3, 2016):
Cool! Precompiled frameworks are known to not work though, check this out:
[Using Swift frameworks built on other machines will cause Xcode's debugger to crash and other strange build errors.](https://github.com/Carthage/Carthage#known-issues)
That does look like a problem. I'm not a Carthage user and am not developing much in iOS lately... don't really have time to investigate. Can you elaborate on what exactly needs to be done here to fix it?
@coneybeare commented on GitHub (Jun 3, 2016):
That does look like a problem. I'm not a Carthage user and am not developing much in iOS lately... don't really have time to investigate. Can you elaborate on what exactly needs to be done here to fix it?
Attaching the .framework-file doesn't fulfil any purpose, since nobody can use it. So if you're spending time attaching this file to every tag you can stop doing that from now on.
You don't have to remove them on old tags though, if a user wants to use tag 0.1.2 for example he/she just has to add --no-use-binaries to the carthage build command. This flag will force Carthage to compile the framework and not use any pre-built frameworks.
I'm closing this issue, but feel free to reach out if anything is unclear.
Keep up the good work. ✨🚀
@JagCesar commented on GitHub (Jun 7, 2016):
I've investigated this and reached this result:
Attaching the `.framework`-file doesn't fulfil any purpose, since nobody can use it. So if you're spending time attaching this file to every tag you can stop doing that from now on.
You don't have to remove them on old tags though, if a user wants to use tag `0.1.2` for example he/she just has to add `--no-use-binaries` to the `carthage build` command. This flag will force Carthage to compile the framework and not use any pre-built frameworks.
I'm closing this issue, but feel free to reach out if anything is unclear.
Keep up the good work. ✨🚀
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @JagCesar on GitHub (May 31, 2016).
Hey!
When I write this in my
Cartfile:github "UrbanApps/Armchair" == 0.1.2I can't deploy my app to a device. It looks like carthage does something "smart" by downloading the .framework-file attached to that tag. The .framework file in this case has been built by an older compiler (probably a previous version of xcode), and hence I can't deploy it :(
So my question is, why is there a .framework file attached to the tag? And could we get rid of it?
@coneybeare commented on GitHub (Jun 2, 2016):
See here
@JagCesar commented on GitHub (Jun 3, 2016):
Cool! Precompiled frameworks are known to not work though, check this out:
Using Swift frameworks built on other machines will cause Xcode's debugger to crash and other strange build errors.
@coneybeare commented on GitHub (Jun 3, 2016):
That does look like a problem. I'm not a Carthage user and am not developing much in iOS lately... don't really have time to investigate. Can you elaborate on what exactly needs to be done here to fix it?
@JagCesar commented on GitHub (Jun 7, 2016):
I've investigated this and reached this result:
Attaching the
.framework-file doesn't fulfil any purpose, since nobody can use it. So if you're spending time attaching this file to every tag you can stop doing that from now on.You don't have to remove them on old tags though, if a user wants to use tag
0.1.2for example he/she just has to add--no-use-binariesto thecarthage buildcommand. This flag will force Carthage to compile the framework and not use any pre-built frameworks.I'm closing this issue, but feel free to reach out if anything is unclear.
Keep up the good work. ✨🚀
@coneybeare commented on GitHub (Jun 7, 2016):
Thanks for doing the research and posting the solution!