Search code examples
xcodegrowldyld

EXC_BAD_INSTRUCTION after removing Linked Framework?


I was previously linking against the Growl framework in my application, but it has since been removed. It was deleted from the project, removed from all the Build Phases, and no use of the framework/included classes is present in the project.

The issue is that upon launching, I now receive an EXC_BAD_INSTRUCTION somewhere in the dyld stack. I thought I had removed all instances of the framework from the project, but my best guess is that it's still looking for the library? (And not finding it?)

I've done a fairly comprehensive search of my project for any mention/use of the framework, and have performed multiple cleans, but can't seem to launch after the removal of the library.

Stacktrace


Solution

  • Gah - after fiddling with the project information, I decided to try disabling the entitlements for the application. It launched just fine.

    This new information led me to this blog post:

    Cocoa Entitlements and EXC_BAD_INSTRUCTION

    Which suggested removing the existing container:

    rm -rf ~/Library/Containers/com.xxx.MyApp/

    Which, after re-enabling the entitlements, worked just fine. So the issue had nothing to do with the removal of the framework, and rather the fact that I had moved to a new machine that had been using an older provisioning profile to create the sandbox container.