0

enter image description here

There are two SO questions I found that address debugging this:

(1) One question recommends doing "otool -tv | grep CFUserNotification to the binary". Of course I changed out CFUserNotification for _deviceInfoForKey. I get this:

Binary file Lexly.app/Lexly matches

(2) The other question recommends doing otool -L Lexly.app/Lexly on the binary. I get a list of all the frameworks I added, repeated for each architecture.

How does this help me find the external libraries that are using the 3 offending selectors?

Community
  • 1
  • 1
OdieO
  • 6,836
  • 7
  • 56
  • 88

1 Answers1

1

I found this blog post which explains, among other things, how to create a shell script in your project's root to find the offending selector.

Here's the script:

#!/bin/bash
for match in $(grep -lR uniqueIdentifier *); do
    printf "File: %s\n****************************************\n\n" "$match"
    strings $match | grep --context=15 uniqueIdentifier
    printf "\n\n\n"
done

Just replace uniqueIdentifier with whatever selector you need to find.

Turns out all three of those selectors were from a beta analytics library I included months ago and wasn't even using. This was an old project I resurrected.

OdieO
  • 6,836
  • 7
  • 56
  • 88