Closed csjones closed 8 years ago
:+1:
:+1:
Is this something the library could help with? Or is it a thing in Carthage? (Don't use it very often, sorry)
as I understand, carthage will grab the prebuilt framework attached to a release by default, but that prebuilt framework does not include the x86_64 slice needed to run in the simulator. you could update the readme to recommend the --no-use-binaries flag:
carthage update --no-use-binaries
to enable use with the simulator
Or include the x86_64
slice instead?
To be honest, I'm not entirely sure what happens if a prebuilt framework includes simulator slices and gets included into a project that then gets built for release.
It seems Carthage had some issues earlier with apps with carthage-built frameworks getting rejected for these simulator slices, and added a script to work around: https://github.com/Carthage/Carthage/blob/5fd867c4895b4f59d70181dec169a1644f4430e3/README.md#if-youre-building-for-ios
But yeah, if the x86_64 slice doesn't cause any problems, including it in the attached prebuilt framework would probably make things easiest for SlackTextViewController users.
Gotcha. Thanks for the info @heyalexchoi. I'm happy to accept any PR that would make this experience a bit better. If not, I'll have a look at it soon.
I don't think it's possible to do a PR. I believe that it's a manual process to attach SlackTextViewController.framework.zip
to a Github release.
Simply checkout the code at that tag, then:
carthage build --no-skip-current
carthage archive SlackTextViewController
The zip file is created in your current directory. Attach that on your Github release page. I believe you can even edit former releases to attach appropriate binaries, fixing the problem for past versions.
@timshadel so does this mean that including simulator slices shouldn't cause complications for users using the prebuilt framework without carthage?
So how do people using the prebuilt framework currently run their app in the simulator? I assume that without the x86_64 slice they're forced to test on device only.
The challenge is that you can't submit to the App Store with an x86_64 slice in your library. That's where some kind of script comes in if you're using a binary dependency. Carthage has one, and describes how to use it. I'm guessing that's what the script you reference is doing.
So I believe the core tension is use source only vs give simulator testing vs script for App Store submission.
I think it might be helpful for individuals to either include the x86_64 slice when running
carthage update
or let people know to runcarthage update --no-use-binaries
if their intention is to use SlackTextViewController with the simulator.