BugshotKit icon indicating copy to clipboard operation
BugshotKit copied to clipboard

Consider removing the "attentionClassDumpUser:" safety feature.

Open jaredsinclair opened this issue 10 years ago • 3 comments

Although it's a clever way to prevent people from shipping BugshotKit to the AppStore, the "class dump" private API reference creates additional hassle for developers. In order to exclude BugshotKit from App Store build configurations, we have several unappealing choices:

  1. Manually create a static library every time master is updated, which makes it likely that the Bugshot library will become outdated compared to the current master branch. (I just discovered mine was 41 commits behind.)

  2. Configure the Xcode project to include a freshly-built static library as a target dependency, which is not as straightforward a process as it should be. I'm not sure it's even possible to do this on a per-build-config basis.

  3. Add a separate target for dev/beta builds.

  4. Manually add/remove the source .h and .m files when submitting to the App Store.

It's much simpler and cleaner to include BugshotKit dynamically, leaving it up to the developer to exclude BugshotKit from release build configurations however she sees fit, perhaps with preprocessor macros. This isn't possible while the "class dump" safety feature is still around.

jaredsinclair avatar Apr 09 '14 17:04 jaredsinclair

This is also preventing us from submitting our app to beta testers via TestFlight. Now that we have to submit our builds for TestFlight through Apple, they reject our binary.

screen shot 2014-11-16 at 9 30 17 pm copy

mmcdole avatar Nov 17 '14 03:11 mmcdole

I forked BugshotKit and removed that code. I also added an additional trigger: double-tap of the hardware volume buttons. https://github.com/jaredsinclair/BugshotKit

jaredsinclair avatar Nov 17 '14 20:11 jaredsinclair

:+1: In light of the new Apple beta testing scheme, we have had to transition the way we toggle our test environment configuration (since beta builds are now effectively release builds). Given the new system, this safety feature makes it too difficult to use.

chadmoone avatar Mar 16 '15 20:03 chadmoone