slackhq / SlackTextViewController

⛔️**DEPRECATED** ⛔️ A drop-in UIViewController subclass with a growing text input view and other useful messaging features
https://slack.com/
MIT License
8.32k stars 1.08k forks source link

Doesn't include x86_64 slice when running carthage update #254

Closed csjones closed 8 years ago

csjones commented 9 years ago

I think it might be helpful for individuals to either include the x86_64 slice when running carthage update or let people know to run carthage update --no-use-binaries if their intention is to use SlackTextViewController with the simulator.

timshadel commented 9 years ago

:+1:

heyalexchoi commented 9 years ago

:+1:

dzenbot commented 9 years ago

Is this something the library could help with? Or is it a thing in Carthage? (Don't use it very often, sorry)

heyalexchoi commented 9 years ago

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

dzenbot commented 9 years ago

Or include the x86_64 slice instead?

heyalexchoi commented 9 years ago

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.

dzenbot commented 9 years ago

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.

timshadel commented 9 years ago

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.

heyalexchoi commented 9 years ago

@timshadel so does this mean that including simulator slices shouldn't cause complications for users using the prebuilt framework without carthage?

timshadel commented 9 years ago

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.