C, никакие библиотеки, 70 символов:
p(char*a){char*b=a-1;while(*++b);while(a<b&&*a++==*--b);return!(a<b);}
Как один из комментариев к другому упомянутому решению C, прототипы являются абсолютно дополнительными в C, int
принят везде, тип пошел бы, но не упоминается. Никто никогда не программировал в предварительном ANSI C?
Редактирование: короче и пустые строки дескрипторов.
Самый простой способ - сохранить UDID всех распространяемых вами двоичных файлов и сравнить их с UDID в аварийных дампах. UDID различны для каждой сборки, которую вы делаете.
Чтобы получить UDID:
$ dwarfdump -u /path/to/MyApp.app/MyApp
UUID: 864F3D54-F165-3356-3292-2C9C48E97C55 (armv6) /path/to/MyApp.app/MyApp
И сравнить его с аварийным журналом:
Binary Images:
0x1000 - 0x5ffff +MyApp armv6 <864F3D54F165335632922C9C48E97C55> /var/mobile/Applications/5FB3933B-348E-42D7-B99F-76DE284D2148/MyApp.app/MyApp
Похоже, это относится ко всем приложениям для iPhone , включая приложения от Apple . Вы можете просмотреть все журналы сбоев приложений iPhone для своих устройств в консоли:
FILES / ~ / Library / Logs / CrashReporter / MobileDevice / ...
Все в этом списке отображается с неизвестными мне версиями, за исключением MobileSafari, у которого немного другая информация:
OS Version: iPhone OS 2.2.1 (5H11)
Date: 2009-02-15 02:19:06 -0600
Все другие приложения, включая приложения Apple Calendar & Mail, отображаются со знаками вопроса для их номеров версий.
Кажется, что другие разработчики заметили то же самое. .
Для специального и бета-тестирования просто измените свой идентификатор. MyAppNameV1.0b36
вместо MyAppName
Очевидно, что это не будет работать для вашей версии App Store, но поможет вам пройти бета-тестирование.
Обратите внимание, что для этого, вероятно, потребуется подстановочный знак hoc, но это можно легко сделать через портал разработчика.