Мне отказывают в App Store за использование личных переменных экземпляра в моем приложении. Скорее всего, я не использую ивары, которые я использую в своем коде, но я использую одну или две статические библиотеки от сторонних разработчиков. Как бы я проверил, могут ли они быть правонарушителями?
Обновление:
Apple обвиняет меня (и сторонние библиотеки) в использовании частных переменных экземпляра в классе UITouch, включая
Я ничего не знаю об обнаружении проблемы, но мы столкнулись с этой проблемой недавно; в нашем случае это было вызвано библиотекой Three20. Если вы используете его, см. http://groups.google.com/group/three20/browse_thread/thread/c442af6e39a918b0/2375e7a158ee9d1b для обсуждения / возможных решений.
Вы можете использовать nm для сканирования, для какой библиотеки используется ivar, о котором идет речь.
nm
ivar
% nm static_lib.a | grep name_of_ivar
Если вы получите строку, я думаю, с большой буквы U, с именем ivar у вас, вероятно, подозреваемый.
U
Я использую одну или две статические библиотеки от третьих лиц
Свяжитесь с третьими лицами, запрашивая объяснение, они написали код, они должны знать, что там. У них может быть форум или раздел комментариев, где другие пользователи, возможно, уже высказали эти опасения, и вы можете искать ответы и альтернативы.
Для тех, у кого много сторонних библиотек, можете проверить ваш проект таким образом в пути к вашему проекту, например, если вы хотите найти GraphicsService:
GraphicsService
$ find . |grep "\\.a" | xargs grep GraphicsService