Приятно слышать что остались разработчики, которым не безразличен размер бинарника!
Был хороший проект для этих задач, заключался в замене системных RTL библиотек.
Называется этот проект KOL — Key Objects Library.
http://sourceforge.net/projects/keyobjectslibrary/files/Components/System-replacements/
http://kolmck.net/e_system.htm
Category Archives: IDE
Борьба с Зомби! -[UISearchDisplayController _destroyManagedTableView]
Оказывается очень мощный и полезный инструмент Profiler…
http://stackoverflow.com/questions/9853100/getting-info-about-bad-memory-address-in-lldb
XCode 4.6.1 крэшится при обновлении Provision Profiles
При попытки публикации приложения XCode выдал ошибку, мол, закончились сертификаты приложения.
При попытке обновить сертификаты как обычно через встроенный органайзер XCode стабильно крэшится.
В системный лог вываливается:
Xcode[34179]: DVTAssertions: UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** setObjectForKey: object cannot be nil (key: teamId)
Оказалось кончился срок сгенерированных сертификатов разработчика.
XCode магически лечится удалением файла ~Library/Developer/Xcode/connect1.apple.com 4.6.1.db
Рекомендуют также удалить ~/Library/Caches/com.apple.dt.Xcode
Теперь список сертификатов обновляется, но при попытке сделать Renew сертификата приложения вылетает No value was provided for the parameter ‘certificateIds’.
Обновлять сертификаты приходится вручную через сайт.
Обновить нужно все сертификаты (Developer & Distribution) так как изменился сертификат разработчика.
Далее делаем Refresh в Органайзере Provision Profiles.
Вот такой вот этот глючный XCode…
dyld: Symbol not found: _NSURLIsExcludedFromBackupKey
Получил такую ошибку при попытки запуска проекта на iOS 5.0 Simulator.
Погуглив, выяснилось в основном такая проблема возникает у тех, кто реально использует этот символ.
Предлагается следующее решение:
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL { const char* filePath = [[URL path] fileSystemRepresentation]; const char* attrName = "com.apple.MobileBackup"; if (&NSURLIsExcludedFromBackupKey == nil) { // iOS 5.0.1 and lower u_int8_t attrValue = 1; int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0); return result == 0; } else { // First try and remove the extended attribute if it is present int result = getxattr(filePath, attrName, NULL, sizeof(u_int8_t), 0, 0); if (result != -1) { // The attribute exists, we need to remove it int removeResult = removexattr(filePath, attrName, 0); if (removeResult == 0) { NSLog(@"Removed extended attribute on file %@", URL); } } // Set the new key return [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil]; } }
Но в моем проекте он совершенно не использовался и в подключенных фреймворках тоже.
Решение как всегда неочевидное но очень простое — подключить CoreFoundation.framework и сделать его Optional.
JDK 7u10 с NetBeans 7.2.1 на MacBook Pro Retina Mac OS X 10.8.x (Mountain Lion)
Установить NetBeans с официального сайта Oracle получил ужасный не Retina IDE GUI.
Изначально это был баг IDE NetBeans. Лечится очень просто, в файл /Applications/NetBeans/NetBeans 7.2.1.app/Contents/Info.plist добавляется значение:
<key>NSHighResolutionCapable</key> <true/>
Если открыть в XCode, то этот параметр называется «High Resolution Capable» установить в YES соответственно.
Но в скачанной версии этот «баг» был уже поправлен. Но это все равно не решило проблемы.
На этот раз это уже системный баг JDK 7.x пока что не исправленный.
NetBeans можно вылечить с помощью установки предыдущего JDK 6. На сайте Oracle нет дистрибьютива JDK 6 для MacOS.
Качается с сайта Apple: http://support.apple.com/kb/DL1572?viewlocale=ru_RU
После установки необходимо поправить одну строчук в конфиге /Applications/NetBeans/NetBeans 7.2.1.app/Contents/Resources/NetBeans/etc/netbeans.conf:
netbeans_jdkhome=»/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home»
Закрываем и открываем NetBeans и вуаля! =)
PS: Вышеизложенные метод должен помочь для всех Java приложений (к примеру, семейство IDE Eclipse)
Устновка поддержки C++ в NetBeans.
JDK 6.x устанавливается в /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
JDK 7.x устанавливается в /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk
В процессе поиска решения проблемы набрел на интересную маленькую утилитку Retinizer, которая преобразует ресурсы OS X приложений в формат Retina (@2x и пр.), но в случае с NetBeans как и с другими прочими JavaVM приложениями она практически бесполезна.
Убрать Deprecated сообщение
if ( [[[UIDevice currentDevice] systemVersion] doubleValue] < 3.2 ) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated" [[userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardEndFrame]; #pragma GCC diagnostic pop else [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEndFrame];