<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cocoanetics &#187; Bug Reports</title>
	<atom:link href="http://www.cocoanetics.com/category/bug-reports/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cocoanetics.com</link>
	<description>Our DNA is written in Objective-C</description>
	<lastBuildDate>Sat, 18 May 2013 06:19:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F&amp;language=en_US&amp;category=text&amp;title=Cocoanetics&amp;description=Our+DNA+is+written+in+Objective-C&amp;tags=blog" type="text/html" />
		<item>
		<title>Radar: MobileSafari Terminated During Zooming In</title>
		<link>http://www.cocoanetics.com/2013/05/radar-mobilesafari-terminated-during-zooming-in/</link>
		<comments>http://www.cocoanetics.com/2013/05/radar-mobilesafari-terminated-during-zooming-in/#comments</comments>
		<pubDate>Tue, 14 May 2013 08:54:40 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8180</guid>
		<description><![CDATA[If you always wanted to crash your MobileSafari and didn&#8217;t dare to ask, here&#8217;s a current way to do it. If you zoom into the right place on our Linguan app product page iOS terminates the app. Thanks to Oisin Prendiville for sending this in. Of course I had to immediately file a bug report. It is slightly bit hilarious that Mobile Safari would crash on my own site. Looks like it&#8217;s somehow running out of &#8220;rpages&#8221;, whatever that means. Filed as rdar://13885055 and on Open Radar. Summary When zooming into the left-hand sidebar on http://www.cocoanetics.com/apps/linguan/ MobileSafari reaches the per process limit of rpages and gets terminated by iOS. Steps to Reproduce In MobileSafari, go to http://www.cocoanetics.com/apps/linguan/ Zoom into the region on the left side titled &#8220;Updates&#8221; Expected Results The tiling should created higher resolution tiles and the display become crisp Actual Results After a second or so the app gets terminated and the following crash report logged Incident Identifier: BAC656CD-EF31-453F-AC4A-AE1E1C8263FC CrashReporter Key: 10d06614c22e25053f76586bd110cdfa0ced43f0 Hardware Model: iPhone5,2 OS Version: iPhone OS 6.1.4 (10B350) Kernel Version: Darwin Kernel Version 13.0.0: Wed Feb 13 21:40:10 PST 2013; root:xnu-2107.7.55.2.2~1/RELEASE_ARM_S5L8950X Date: 2013-05-14 10:38:24 +0200 Time since snapshot: 102 ms Free pages: 1489 Active pages: 8333 Inactive pages: 4370 Throttled pages: 151442 Purgeable pages: 0 Wired pages: 93689 Largest process: MobileSafari Processes Name rpages recent_max [reason] (state) MobileSMS 4349 4349 (background) MobileMail 16656 16656 (continuous) MobilePhone 3598 3598 (continuous) librariand 316 316 (daemon) tccd 335 335 (daemon) kbd 569 569 (daemon) MobileSafari 167691 167691 [per-process-limit] (frontmost) (resume) ptpd 1158 1158 (daemon) dataaccessd 1589 1589 (daemon) wifid 460 460 (daemon) iaptransportd 301 301 (daemon) locationd 1513 1513 (daemon) aosnotifyd 517 517 (daemon) mediaserverd 2164 2164 (daemon) syslogd 172 172 (daemon) SpringBoard 13124 13124 backboardd 36064 36064 (daemon) configd 774 774 (daemon) lockdownd 868 868 (daemon) powerd 163 163 (daemon) mDNSResponder 271 271 (daemon) fairplayd.N42 548 548 (daemon) UserEventAgent 821 821 (daemon) keybagd 149 149 (daemon) springboardservi 0 0 (daemon) syslog_relay 0 0 (daemon) afcd 205 205 (daemon) gputoolsd 0 0 (daemon) syncdefaultsd 494 494 (daemon) ubd 747 747 (daemon) notification_pro 198 198 (daemon) filecoordination 200 200 (daemon) distnoted 132 132 (daemon) apsd 375 375 (daemon) aggregated 98 98 (daemon) networkd 201 201 (daemon) fseventsd 375 375 (daemon) BTServer 506 506 (daemon) imagent 666 666 (daemon) CommCenter 2089 2089 (daemon) notifyd 222 222 (daemon) ReportCrash 307 307 (daemon) **End**]]></description>
				<content:encoded><![CDATA[<p>If you always wanted to crash your MobileSafari and didn&#8217;t dare to ask, here&#8217;s a current way to do it. If you zoom into the right place on our <a href="http://www.cocoanetics.com/apps/linguan/">Linguan app product page</a> iOS terminates the app. Thanks to Oisin Prendiville for sending this in.</p>
<p>Of course I had to immediately file a bug report. It is slightly bit hilarious that Mobile Safari would crash on my own site. Looks like it&#8217;s somehow running out of &#8220;rpages&#8221;, whatever that means.</p>
<p>Filed as rdar://13885055 and on <a href="http://www.openradar.me/radar?id=3009405">Open Radar</a>.</p>
<p><span id="more-8180"></span></p>
<div id="more-8180"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>When zooming into the left-hand sidebar on http://www.cocoanetics.com/apps/linguan/ MobileSafari reaches the per process limit of rpages and gets terminated by iOS.</p>
<h3>Steps to Reproduce</h3>
<ul>
<li>In MobileSafari, go to http://www.cocoanetics.com/apps/linguan/</li>
<li>Zoom into the region on the left side titled &#8220;Updates&#8221;</li>
</ul>
<h3>Expected Results</h3>
<ul>
<li>The tiling should created higher resolution tiles and the display become crisp</li>
</ul>
<h3>Actual Results</h3>
<ul>
<li>After a second or so the app gets terminated and the following crash report logged</li>
</ul>
<pre>Incident Identifier: BAC656CD-EF31-453F-AC4A-AE1E1C8263FC
CrashReporter Key:   10d06614c22e25053f76586bd110cdfa0ced43f0
Hardware Model:      iPhone5,2
OS Version:          iPhone OS 6.1.4 (10B350)
Kernel Version:      Darwin Kernel Version 13.0.0: Wed Feb 13 21:40:10 PST 2013; root:xnu-2107.7.55.2.2~1/RELEASE_ARM_S5L8950X
Date:                2013-05-14 10:38:24 +0200
Time since snapshot: 102 ms

Free pages:        1489
Active pages:      8333
Inactive pages:    4370
Throttled pages:   151442
Purgeable pages:   0
Wired pages:       93689
Largest process:   MobileSafari

Processes
     Name                                           rpages       recent_max       [reason]          (state)

       MobileSMS          4349             4349                      (background)
      MobileMail         16656            16656                      (continuous)
     MobilePhone          3598             3598                      (continuous)
      librariand           316              316                      (daemon)
            tccd           335              335                      (daemon)
             kbd           569              569                      (daemon)
    MobileSafari        167691           167691  [per-process-limit] (frontmost) (resume)
            ptpd          1158             1158                      (daemon)
     dataaccessd          1589             1589                      (daemon)
           wifid           460              460                      (daemon)
   iaptransportd           301              301                      (daemon)
       locationd          1513             1513                      (daemon)
      aosnotifyd           517              517                      (daemon)
    mediaserverd          2164             2164                      (daemon)
         syslogd           172              172                      (daemon)
     SpringBoard         13124            13124                     
      backboardd         36064            36064                      (daemon)
         configd           774              774                      (daemon)
       lockdownd           868              868                      (daemon)
          powerd           163              163                      (daemon)
   mDNSResponder           271              271                      (daemon)
   fairplayd.N42           548              548                      (daemon)
  UserEventAgent           821              821                      (daemon)
         keybagd           149              149                      (daemon)
springboardservi             0                0                      (daemon)
    syslog_relay             0                0                      (daemon)
            afcd           205              205                      (daemon)
       gputoolsd             0                0                      (daemon)
   syncdefaultsd           494              494                      (daemon)
             ubd           747              747                      (daemon)
notification_pro           198              198                      (daemon)
filecoordination           200              200                      (daemon)
       distnoted           132              132                      (daemon)
            apsd           375              375                      (daemon)
      aggregated            98               98                      (daemon)
        networkd           201              201                      (daemon)
       fseventsd           375              375                      (daemon)
        BTServer           506              506                      (daemon)
         imagent           666              666                      (daemon)
      CommCenter          2089             2089                      (daemon)
         notifyd           222              222                      (daemon)
     ReportCrash           307              307                      (daemon)

**End**</pre>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8180&amp;md5=353b21c9e830386a67678a7d8f6ff242" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/05/radar-mobilesafari-terminated-during-zooming-in/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F05%2Fradar-mobilesafari-terminated-during-zooming-in%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+MobileSafari+Terminated+During+Zooming+In&amp;description=If+you+always+wanted+to+crash+your+MobileSafari+and+didn%26%238217%3Bt+dare+to+ask%2C+here%26%238217%3Bs+a+current+way+to+do+it.+If+you+zoom+into+the+right+place+on+our+Linguan...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: UIScrollView Should Not Adjust Content Inset if it is Input View</title>
		<link>http://www.cocoanetics.com/2013/05/radar-uiscrollview-should-not-adjust-content-inset-if-it-is-input-view/</link>
		<comments>http://www.cocoanetics.com/2013/05/radar-uiscrollview-should-not-adjust-content-inset-if-it-is-input-view/#comments</comments>
		<pubDate>Wed, 08 May 2013 11:17:59 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8141</guid>
		<description><![CDATA[While working on the demo app for my DTRichTextEditor I stumbled across a bug that exists since iOS 6. You&#8217;ll notice that only if you set an inputView on an editable UIView and have it become first Responder. Filed as rdar://13836932 and on OpenRadar. Update May 9th: Provided a Sample App, which is also available on GitHub. Summary You can set a view as inputView for a editable view to appear in place of a keyboard. If this inputView has a scroll view this will erroneously receive a setContentInset after the keyboard finished its incoming animation. Steps to Reproduce Create a UITableViewController On a UIView that canBecomeFirstResponder set this VC&#8217;s view as inputView have the UIView becomeFirstResponder Expected Results The UITableViewController&#8217;s tableView should not have a contentInset Actual Results Every UIScrollView receives a contentInset, even if it is itself the inputView that was showing &#8220;as keyboard&#8221;. Regression This automatic setting of contentInset started with iOS 6. It does not occur in iOS 5. Notes I believe that the notification that gets sent after the keyboard/inputView animated in should take into consideration that scroll views that are subviews of the showing inputView don&#8217;t get a contentInset set. As a workaround I am subclassing UITableView and overriding setContentInset: to ignore the erroneous setting. This is the call stack I get on this overwritten contentInset: * thread #1: tid = 0x1c03, 0x0000f6ca RTEDemoApp`-[DTFormatTableView setContentInset:](self=0x099e5000, _cmd=0x09405f60, contentInset=(null)) + 58 at DTFormatTableView.m:16, stop reason = breakpoint 3.1 frame #0: 0x0000f6ca RTEDemoApp`-[DTFormatTableView setContentInset:](self=0x099e5000, _cmd=0x09405f60, contentInset=(null)) + 58 at DTFormatTableView.m:16 frame #1: 0x0373c1bd CoreFoundation`__invoking___ + 29 frame #2: 0x0373c0d6 CoreFoundation`-[NSInvocation invoke] + 342 frame #3: 0x016c7def Foundation`NSKVOForwardInvocation + 375 frame #4: 0x03737cf9 CoreFoundation`___forwarding___ + 905 frame #5: 0x0373794e CoreFoundation`_CF_forwarding_prep_0 + 14 frame #6: 0x00bc5029 UIKit`-[UIScrollView(UIScrollViewInternal) _adjustForAutomaticKeyboardInfo:animated:lastAdjustment:] + 377 frame #7: 0x00c14ddc UIKit`-[UITableView(UITableViewInternal) _adjustForAutomaticKeyboardInfo:animated:lastAdjustment:] + 73 frame #8: 0x00d87af9 UIKit`-[UITableViewController _adjustTableForKeyboardInfo:] + 201 frame #9: 0x00d86c27 UIKit`-[UITableViewControllerKeyboardSupport _keyboardDidChangeFrame:] + 131 frame #10: 0x016d44f9 Foundation`__57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 40 frame #11: 0x037a20c5 CoreFoundation`___CFXNotificationPost_block_invoke_0 + 85 frame #12: 0x036fcefa CoreFoundation`_CFXNotificationPost + 2122 frame #13: 0x01608bb2 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 98 frame #14: 0x00f08a29 UIKit`-[UIInputViewTransition postNotificationsForTransitionEnd] + 682 frame #15: 0x00f01e5c UIKit`__53-[UIPeripheralHost(UIKitInternal) executeTransition:]_block_invoke_01079 + 203 frame #16: 0x00ba2df6 UIKit`-[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 223 frame #17: 0x00b95d66 UIKit`-[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 237 frame #18: 0x00b95f04 UIKit`-[UIViewAnimationState animationDidStop:finished:] + 68 frame #19: 0x006a57d8 QuartzCore`CA::Layer::run_animation_callbacks(void*) + 284 frame #20: 0x01ff0014 libdispatch.dylib`_dispatch_client_callout + 14 frame #21: 0x01fe07d5 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 296 frame #22: 0x036eeaf5 CoreFoundation`__CFRunLoopRun + 1925 frame #23: 0x036edf44 CoreFoundation`CFRunLoopRunSpecific + 276 frame #24: 0x036ede1b CoreFoundation`CFRunLoopRunInMode + 123 frame #25: 0x02b757e3 GraphicsServices`GSEventRunModal + 88 frame #26: 0x02b75668 GraphicsServices`GSEventRun + 104 frame #27: 0x00b57ffc UIKit`UIApplicationMain + 1211 frame #28: 0x00001fec RTEDemoApp`main(argc=1, argv=0xbffff208) + 92 at main.m:15 At first glance I assume that you would want to modify _adjustForAutomaticKeyboardInfo:animated:lastAdjustment: to check if the UITableViewController&#8217;s view is part of the view hierarchy of the inputView that triggered the inputView frame size change notification.]]></description>
				<content:encoded><![CDATA[<p>While working on the demo app for my DTRichTextEditor I stumbled across a bug that exists since iOS 6. You&#8217;ll notice that only if you set an inputView on an editable UIView and have it become first Responder.</p>
<p>Filed as rdar://13836932 and on <a href="http://www.openradar.me/13836932">OpenRadar</a>.</p>
<p>Update May 9th: Provided a Sample App, which is <a href="https://github.com/Cocoanetics/RadarSamples">also available on GitHub</a>.</p>
<p><span id="more-8141"></span></p>
<div id="more-8141"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>You can set a view as inputView for a editable view to appear in place of a keyboard. If this inputView has a scroll view this will erroneously receive a setContentInset after the keyboard finished its incoming animation.</p>
<h3>Steps to Reproduce</h3>
<ul>
<li>Create a UITableViewController</li>
<li>On a UIView that canBecomeFirstResponder set this VC&#8217;s view as inputView</li>
<li>have the UIView becomeFirstResponder</li>
</ul>
<h3>Expected Results</h3>
<ul>
<li>The UITableViewController&#8217;s tableView should not have a contentInset</li>
</ul>
<h3>Actual Results</h3>
<ul>
<li>Every UIScrollView receives a contentInset, even if it is itself the inputView that was showing &#8220;as keyboard&#8221;.</li>
</ul>
<h3>Regression</h3>
<ul>
<li>This automatic setting of contentInset started with iOS 6. It does not occur in iOS 5.</li>
</ul>
<h3>Notes</h3>
<p>I believe that the notification that gets sent after the keyboard/inputView animated in should take into consideration that scroll views that are subviews of the showing inputView don&#8217;t get a contentInset set.</p>
<p>As a workaround I am subclassing UITableView and overriding setContentInset: to ignore the erroneous setting.</p>
<p>This is the call stack I get on this overwritten contentInset:</p>
<pre>* thread #1: tid = 0x1c03, 0x0000f6ca RTEDemoApp`-[DTFormatTableView setContentInset:](self=0x099e5000, _cmd=0x09405f60, contentInset=(null)) + 58 at DTFormatTableView.m:16, stop reason = breakpoint 3.1
frame #0: 0x0000f6ca RTEDemoApp`-[DTFormatTableView setContentInset:](self=0x099e5000, _cmd=0x09405f60, contentInset=(null)) + 58 at DTFormatTableView.m:16
frame #1: 0x0373c1bd CoreFoundation`__invoking___ + 29
frame #2: 0x0373c0d6 CoreFoundation`-[NSInvocation invoke] + 342
frame #3: 0x016c7def Foundation`NSKVOForwardInvocation + 375
frame #4: 0x03737cf9 CoreFoundation`___forwarding___ + 905
frame #5: 0x0373794e CoreFoundation`_CF_forwarding_prep_0 + 14
frame #6: 0x00bc5029 UIKit`-[UIScrollView(UIScrollViewInternal) _adjustForAutomaticKeyboardInfo:animated:lastAdjustment:] + 377
frame #7: 0x00c14ddc UIKit`-[UITableView(UITableViewInternal) _adjustForAutomaticKeyboardInfo:animated:lastAdjustment:] + 73
frame #8: 0x00d87af9 UIKit`-[UITableViewController _adjustTableForKeyboardInfo:] + 201
frame #9: 0x00d86c27 UIKit`-[UITableViewControllerKeyboardSupport _keyboardDidChangeFrame:] + 131
frame #10: 0x016d44f9 Foundation`__57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 40
frame #11: 0x037a20c5 CoreFoundation`___CFXNotificationPost_block_invoke_0 + 85
frame #12: 0x036fcefa CoreFoundation`_CFXNotificationPost + 2122
frame #13: 0x01608bb2 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 98
frame #14: 0x00f08a29 UIKit`-[UIInputViewTransition postNotificationsForTransitionEnd] + 682
frame #15: 0x00f01e5c UIKit`__53-[UIPeripheralHost(UIKitInternal) executeTransition:]_block_invoke_01079 + 203
frame #16: 0x00ba2df6 UIKit`-[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 223
frame #17: 0x00b95d66 UIKit`-[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 237
frame #18: 0x00b95f04 UIKit`-[UIViewAnimationState animationDidStop:finished:] + 68
frame #19: 0x006a57d8 QuartzCore`CA::Layer::run_animation_callbacks(void*) + 284
frame #20: 0x01ff0014 libdispatch.dylib`_dispatch_client_callout + 14
frame #21: 0x01fe07d5 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 296
frame #22: 0x036eeaf5 CoreFoundation`__CFRunLoopRun + 1925
frame #23: 0x036edf44 CoreFoundation`CFRunLoopRunSpecific + 276
frame #24: 0x036ede1b CoreFoundation`CFRunLoopRunInMode + 123
frame #25: 0x02b757e3 GraphicsServices`GSEventRunModal + 88
frame #26: 0x02b75668 GraphicsServices`GSEventRun + 104
frame #27: 0x00b57ffc UIKit`UIApplicationMain + 1211
frame #28: 0x00001fec RTEDemoApp`main(argc=1, argv=0xbffff208) + 92 at main.m:15</pre>
<p>At first glance I assume that you would want to modify _adjustForAutomaticKeyboardInfo:animated:lastAdjustment: to check if the UITableViewController&#8217;s view is part of the view hierarchy of the inputView that triggered the inputView frame size change notification.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8141&amp;md5=769e0c607f89d53bf7dcf06dee19f535" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/05/radar-uiscrollview-should-not-adjust-content-inset-if-it-is-input-view/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F05%2Fradar-uiscrollview-should-not-adjust-content-inset-if-it-is-input-view%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+UIScrollView+Should+Not+Adjust+Content+Inset+if+it+is+Input+View&amp;description=While+working+on+the+demo+app+for+my+DTRichTextEditor+I+stumbled+across+a+bug+that+exists+since+iOS+6.+You%26%238217%3Bll+notice+that+only+if+you+set+an+inputView+on+an...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: App gets killed without Crash Log</title>
		<link>http://www.cocoanetics.com/2013/04/radar-app-gets-killed-without-crash-log/</link>
		<comments>http://www.cocoanetics.com/2013/04/radar-app-gets-killed-without-crash-log/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 15:38:00 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=8075</guid>
		<description><![CDATA[The following bug report has already been confirmed by Apple. Still I am posting it for the public so that it might help somebody who is getting the same problem. The workaround is to override the readFromURL:error: method of UIDocument instead loadFromContents:ofType:error: since the problem lies inside NSFileWrapper. While being very convenient to use on smaller documents having too many items inside an NSFileWrapper will cause the problem described in this bug report. Filed as rdar://13586175 and on Open Radar. Summary Frequent opening and closing of a UIDocument subclass (not using iCloud) leads to a silent termination of the app. Steps to Reproduce: have UIDocuments with hundreds of images in them open these UIDocuments and close them several times until the app is just gone Expected Results The app should not be terminated with signal 9. In the least a useful crash report should be created. Actual Results App is killed with signal 9, on the console this output is logged: Apr 5 15:47:22 Stefan-Gugarels-iPad iCatalogTest[2700] &#60;Error&#62;: shared connection error: Connection interrupted Apr 5 15:47:22 Stefan-Gugarels-iPad com.apple.launchd[1] (com.apple.librariand[2672]) &#60;Notice&#62;: (com.apple.librariand) Exited: Killed: 9 Apr 5 15:47:23 Stefan-Gugarels-iPad com.apple.launchd[1] (com.apple.tccd[2681]) &#60;Notice&#62;: (com.apple.tccd) Exited: Killed: 9 Apr 5 15:47:23 Stefan-Gugarels-iPad com.apple.launchd[1] (UIKitApplication:com.int-color.icatalogtest[0x114b][2700]) &#60;Notice&#62;: (UIKitApplication:com.int-color.icatalogtest[0x114b]) Exited: Killed: 9 Apr 5 15:47:23 Stefan-Gugarels-iPad com.apple.debugserver-199[2698] &#60;Warning&#62;: 1 +0.000000 sec [0a8a/1303]: error: ::read ( 5, 0x1c89fc, 18446744069414585344 ) =&#62; -1 err = Bad file descriptor (0x00000009) Apr 5 15:47:23 Stefan-Gugarels-iPad backboardd[26] &#60;Warning&#62;: Application 'UIKitApplication:com.int-color.icatalogtest[0x114b]' exited abnormally with signal 9: Killed: 9 Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: vnode: table is full Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: vnode: table is full Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: vnode: table is full Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: vnode: table is full Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &#60;Debug&#62;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage We suspect that this is a bug in the iOS SDK. Regression The problem started to occur when we switched to a UIDocument-based subclass for our document. Notes I am using multiple UIDocuments for displaying Catalogs. I open UIDocuments show them and close them. I am repeating the previous step until the app is killed with signal 9. (But i get no Crashlog and no Exception during Debugging). The only hint for me is found in iPad Console of device. We verified that the UIDocument is being deallocated after showing. We are not using file presentation, but only the asynchronous loading facilities of UIDocument. We are not using iCloud and we do not need to save the UIDocument. The out of vnodes condition seems to be related to using the NSFileWrapperReadingImmediate reading option of NSFileWrapper since we are able to show the termination both with an explicitly created file wrapper with this option as well as UIDocument. UIDocument appears to be using the same file wrapper reading option internally. If we change the reading option to NSFileWrapperReadingWithoutMapping then the problem no longer occurs. Even if this is &#8220;by design&#8221; then in the least we would expect for a useful exception to be raised such that an unsuspecting developer would have a clue how to work around that.]]></description>
				<content:encoded><![CDATA[<p>The following bug report has already been confirmed by Apple. Still I am posting it for the public so that it might help somebody who is getting the same problem.</p>
<p>The workaround is to override the <b>readFromURL:error:</b> method of UIDocument instead <b>loadFromContents:ofType:error:</b> since the problem lies inside NSFileWrapper. While being very convenient to use on smaller documents having too many items inside an NSFileWrapper will cause the problem described in this bug report.</p>
<p>Filed as rdar://13586175 and on <a href="http://www.openradar.me/radar?id=2990401">Open Radar</a>.<br />
<span id="more-8075"></span></p>
<div id="more-8075"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>Frequent opening and closing of a UIDocument subclass (not using iCloud) leads to a silent termination of the app.<br />
Steps to Reproduce:</p>
<ul>
<li>have UIDocuments with hundreds of images in them</li>
<li>open these UIDocuments and close them several times until the app is just gone</li>
</ul>
<h3>Expected Results</h3>
<p>The app should not be terminated with signal 9. In the least a useful crash report should be created.</p>
<h3>Actual Results</h3>
<p>App is killed with signal 9, on the console this output is logged:</p>
<pre>Apr 5 15:47:22 Stefan-Gugarels-iPad iCatalogTest[2700] &lt;Error&gt;: shared connection error: Connection interrupted
Apr 5 15:47:22 Stefan-Gugarels-iPad com.apple.launchd[1] (com.apple.librariand[2672]) &lt;Notice&gt;: (com.apple.librariand) Exited: Killed: 9
Apr 5 15:47:23 Stefan-Gugarels-iPad com.apple.launchd[1] (com.apple.tccd[2681]) &lt;Notice&gt;: (com.apple.tccd) Exited: Killed: 9
Apr 5 15:47:23 Stefan-Gugarels-iPad com.apple.launchd[1] (UIKitApplication:com.int-color.icatalogtest[0x114b][2700]) &lt;Notice&gt;: (UIKitApplication:com.int-color.icatalogtest[0x114b]) Exited: Killed: 9
Apr 5 15:47:23 Stefan-Gugarels-iPad com.apple.debugserver-199[2698] &lt;Warning&gt;: 1 +0.000000 sec [0a8a/1303]: error: ::read ( 5, 0x1c89fc, 18446744069414585344 ) =&gt; -1 err = Bad file descriptor (0x00000009)
Apr 5 15:47:23 Stefan-Gugarels-iPad backboardd[26] &lt;Warning&gt;: Application 'UIKitApplication:com.int-color.icatalogtest[0x114b]' exited abnormally with signal 9: Killed: 9
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: vnode: table is full
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: vnode: table is full
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: vnode: table is full
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: vnode: table is full
Apr 5 15:47:23 Stefan-Gugarels-iPad kernel[0] &lt;Debug&gt;: 1250 desired, 1250 numvnodes, 0 free, 0 dead, 0 rage</pre>
<p>We suspect that this is a bug in the iOS SDK.</p>
<h3>Regression</h3>
<p>The problem started to occur when we switched to a UIDocument-based subclass for our document.</p>
<h3>Notes</h3>
<p>I am using multiple UIDocuments for displaying Catalogs. I open UIDocuments show them and close them. I am repeating the previous step until the app is killed with signal 9. (But i get no Crashlog and no Exception during Debugging). The only hint for me is found in iPad Console of device.</p>
<p>We verified that the UIDocument is being deallocated after showing. We are not using file presentation, but only the asynchronous loading facilities of UIDocument. We are not using iCloud and we do not need to save the UIDocument.</p>
<p>The out of vnodes condition seems to be related to using the NSFileWrapperReadingImmediate reading option of NSFileWrapper since we are able to show the termination both with an explicitly created file wrapper with this option as well as UIDocument. UIDocument appears to be using the same file wrapper reading option internally.</p>
<p>If we change the reading option to NSFileWrapperReadingWithoutMapping then the problem no longer occurs.</p>
<p>Even if this is &#8220;by design&#8221; then in the least we would expect for a useful exception to be raised such that an unsuspecting developer would have a clue how to work around that.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=8075&amp;md5=5197c0685c87ee070abdb56705c02211" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/04/radar-app-gets-killed-without-crash-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F04%2Fradar-app-gets-killed-without-crash-log%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+App+gets+killed+without+Crash+Log&amp;description=The+following+bug+report+has+already+been+confirmed+by+Apple.+Still+I+am+posting+it+for+the+public+so+that+it+might+help+somebody+who+is+getting+the+same+problem....&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Skipping Ahead Broken in Some Podcasts</title>
		<link>http://www.cocoanetics.com/2013/03/radar-skipping-ahead-broken-in-some-podcasts/</link>
		<comments>http://www.cocoanetics.com/2013/03/radar-skipping-ahead-broken-in-some-podcasts/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 17:44:52 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7903</guid>
		<description><![CDATA[The bug occurs in 2 out of 10 well-known tech podcasts and can be reproduced in iTunes 11. This isn&#8217;t related to iOS or Mac development but since I spent much time in researching this, I want to post it on my blog as well. Also I believe that if people file better bug reports Apple has more reason to fix the bugs. I noticed then when I was investigating why skipping in some of my own podcasts didn&#8217;t work. Turns out that the reason for that was a combination of ngnix + WordPress Multi-User + one pesky rewrite rule. But this is not the root cause that some podcasts are having. If you know how to read (and understand HTTP headers) let me know in the comments if you spot a possible explanation for this bug. Filed as rdar://13490726 and on Open Radar. iTunes 11.0.2: Skipping Ahead Broken in Some Podcasts Summary Skipping forward in mp3 podcasts is broken. Steps to Reproduce In iTunes: File &#8211; Subscribe to Podcast, enter http://leoville.tv/podcasts/twit.xml double click on any older podcast episode, it will start to play at 00:00 now click in the playing control progress track to try to skip to a later point Expected Results playback should skip to the clicked position Actual Results playback continues stubbornly, no HTTP ranged request for new position is sent Regression I checked 10 other podcasts and found a second one that has the same issue with iTunes. I can provide you with the list of my tests. Notes When you click on the track iTunes seems to be sending the Range: header to state the position requested on the podcasts that work. It does not make a difference whether or not the podcast uses m4a or mp3 format. Also Some do a redirect for tracking downloads, some don&#8217;t. I also tested the same problematic podcasts with the iOS Podcasts app 1.2. There I cannot reproduce the problem. It appears that some combination of redirection and/or headers in the response disable the random access functionality in iTunes for these specific podcasts and it no longer sends the range header. The following examples are done with Charles debugging proxy. Example of functioning communication &#62;&#62;&#62; request from start: GET /audio/mbw/mbw0340/mbw0340.mp3 HTTP/1.1 Host: twit.cachefly.net User-Agent: iTunes/11.0.2 (Macintosh; OS X 10.8.3) AppleWebKit/536.28.10 Accept: */* Cache-Control: no-cache Connection: close &#60;&#60;&#60; response: HTTP/1.1 200 OK Server CFS 1228 Date Sat, 23 Mar 2013 17:13:15 GMT Content-Type audio/mpeg Connection close ETag "7086e985aab6289a32b65ceec1ab6225" X-CF1 dC.ams1:cf:cacheA.ams1-01 Content-Length 48421137 Last-Modified Tue, 05 Mar 2013 23:08:26 GMT X-CF2 L Accept-Ranges bytes &#62;&#62;&#62; skip ahead request GET /audio/mbw/mbw0340/mbw0340.mp3 HTTP/1.1 Host: twit.cachefly.net User-Agent: iTunes/11.0.2 (Macintosh; OS X 10.8.3) AppleWebKit/536.28.10 Accept: */* Cache-Control: no-cache Range: bytes=20236119- Connection: close &#60;&#60;&#60; skip ahead response (OK) HTTP/1.1 206 Partial Content Server CFS 1228 Date Sat, 23 Mar 2013 17:13:19 GMT Content-Type audio/mpeg Connection close ETag "7086e985aab6289a32b65ceec1ab6225" X-CF1 fC.iad2:cf:cacheB.iad2-01 Content-Length 28185018 Last-Modified Tue, 05 Mar 2013 23:08:26 GMT X-CF2 L Content-Range bytes 20236119-48421136/48421137 Example of non working skip ahead, different podcast &#62;&#62;&#62; Initial request from start GET /twit/twit0393.mp3 HTTP/1.1 Host: aolradio.podcast.aol.com User-Agent: iTunes/11.0.2 (Macintosh; OS X 10.8.3) AppleWebKit/536.28.10 Accept: */* Cache-Control: no-cache Connection: close &#60;&#60;&#60; Initial request response HTTP/1.0 200 OK Server: Apache Last-Modified: Mon, 18 Feb 2013 04:50:23 GMT ETag: "3e5e579-4d5f87677a1c0" Accept-Ranges: bytes Content-Length: 65398137 Content-Type: audio/mpeg Cache-Control: max-age=7776000 Expires: Fri, 21 Jun 2013 19:52:23 GMT Date: Sat, 23 Mar 2013 19:52:23 GMT Connection: close &#62;&#62;&#62; at this point clicking in the progress bar does not send a new ranged request and skipping ahead does not work]]></description>
				<content:encoded><![CDATA[<p>The bug occurs in 2 out of 10 well-known tech podcasts and can be reproduced in iTunes 11. This isn&#8217;t related to iOS or Mac development but since I spent much time in researching this, I want to post it on my blog as well. Also I believe that if people file better bug reports Apple has more reason to fix the bugs.</p>
<p>I noticed then when I was investigating why skipping in some of my own podcasts didn&#8217;t work. Turns out that the reason for that was a combination of ngnix + WordPress Multi-User + one pesky rewrite rule. But this is not the root cause that some podcasts are having.</p>
<p>If you know how to read (and understand HTTP headers) let me know in the comments if you spot a possible explanation for this bug.</p>
<p>Filed as rdar://13490726 and on <a href="http://www.openradar.me/radar?id=2890403">Open Radar</a>.</p>
<p><span id="more-7903"></span></p>
<div id="more-7903"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h2>iTunes 11.0.2: Skipping Ahead Broken in Some Podcasts</h2>
<h3>Summary</h3>
<p>Skipping forward in mp3 podcasts is broken.</p>
<h3>Steps to Reproduce</h3>
<ul>
<li>In iTunes: File &#8211; Subscribe to Podcast, enter http://leoville.tv/podcasts/twit.xml</li>
<li>double click on any older podcast episode, it will start to play at 00:00</li>
<li>now click in the playing control progress track to try to skip to a later point</li>
</ul>
<h3>Expected Results</h3>
<ul>
<li>playback should skip to the clicked position</li>
</ul>
<h3>Actual Results</h3>
<ul>
<li>playback continues stubbornly, no HTTP ranged request for new position is sent</li>
</ul>
<h3>Regression</h3>
<p>I checked 10 other podcasts and found a second one that has the same issue with iTunes. I can provide you with the list of my tests.</p>
<h3>Notes</h3>
<p>When you click on the track iTunes seems to be sending the Range: header to state the position requested on the podcasts that work. It does not make a difference whether or not the podcast uses m4a or mp3 format. Also Some do a redirect for tracking downloads, some don&#8217;t.</p>
<p>I also tested the same problematic podcasts with the iOS Podcasts app 1.2. There I cannot reproduce the problem.</p>
<p>It appears that some combination of redirection and/or headers in the response disable the random access functionality in iTunes for these specific podcasts and it no longer sends the range header.</p>
<p>The following examples are done with Charles debugging proxy.</p>
<h3>Example of functioning communication</h3>
<p><strong>&gt;&gt;&gt; request from start:</strong></p>
<pre>GET /audio/mbw/mbw0340/mbw0340.mp3 HTTP/1.1
Host: twit.cachefly.net
User-Agent: iTunes/11.0.2 (Macintosh; OS X 10.8.3) AppleWebKit/536.28.10
Accept: */*
Cache-Control: no-cache
Connection: close</pre>
<p><strong>&lt;&lt;&lt; response:</strong></p>
<pre>HTTP/1.1 200 OK
Server	CFS 1228
Date	Sat, 23 Mar 2013 17:13:15 GMT
Content-Type	audio/mpeg
Connection	close
ETag	"7086e985aab6289a32b65ceec1ab6225"
X-CF1	dC.ams1:cf:cacheA.ams1-01
Content-Length	48421137
Last-Modified	Tue, 05 Mar 2013 23:08:26 GMT
X-CF2	L
Accept-Ranges	bytes</pre>
<p><strong>&gt;&gt;&gt; skip ahead request</strong></p>
<pre>GET /audio/mbw/mbw0340/mbw0340.mp3 HTTP/1.1
Host: twit.cachefly.net
User-Agent: iTunes/11.0.2 (Macintosh; OS X 10.8.3) AppleWebKit/536.28.10
Accept: */*
Cache-Control: no-cache
Range: bytes=20236119-
Connection: close</pre>
<p><strong>&lt;&lt;&lt; skip ahead response (OK)</strong></p>
<pre>HTTP/1.1 206 Partial Content
Server	CFS 1228
Date	Sat, 23 Mar 2013 17:13:19 GMT
Content-Type	audio/mpeg
Connection	close
ETag	"7086e985aab6289a32b65ceec1ab6225"
X-CF1	fC.iad2:cf:cacheB.iad2-01
Content-Length	28185018
Last-Modified	Tue, 05 Mar 2013 23:08:26 GMT
X-CF2	L
Content-Range	bytes 20236119-48421136/48421137</pre>
<h3>Example of non working skip ahead, different podcast</h3>
<p><strong>&gt;&gt;&gt; Initial request from start</strong></p>
<pre>GET /twit/twit0393.mp3 HTTP/1.1
Host: aolradio.podcast.aol.com
User-Agent: iTunes/11.0.2 (Macintosh; OS X 10.8.3) AppleWebKit/536.28.10
Accept: */*
Cache-Control: no-cache
Connection: close
</pre>
<p><strong>&lt;&lt;&lt; Initial request response</strong></p>
<pre>HTTP/1.0 200 OK
Server: Apache
Last-Modified: Mon, 18 Feb 2013 04:50:23 GMT
ETag: "3e5e579-4d5f87677a1c0"
Accept-Ranges: bytes
Content-Length: 65398137
Content-Type: audio/mpeg
Cache-Control: max-age=7776000
Expires: Fri, 21 Jun 2013 19:52:23 GMT
Date: Sat, 23 Mar 2013 19:52:23 GMT
Connection: close
</pre>
<p><strong>&gt;&gt;&gt; at this point clicking in the progress bar does not send a new ranged request and skipping ahead does not work</strong></p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7903&amp;md5=15119b8bb078fa9848739cc942dfe19b" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/03/radar-skipping-ahead-broken-in-some-podcasts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F03%2Fradar-skipping-ahead-broken-in-some-podcasts%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Skipping+Ahead+Broken+in+Some+Podcasts&amp;description=The+bug+occurs+in+2+out+of+10+well-known+tech+podcasts+and+can+be+reproduced+in+iTunes+11.%C2%A0This+isn%26%238217%3Bt+related+to+iOS+or+Mac+development+but+since+I+spent+much...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Update Ruby shipped with OS X</title>
		<link>http://www.cocoanetics.com/2013/03/radar-update-ruby-shipped-with-os-x/</link>
		<comments>http://www.cocoanetics.com/2013/03/radar-update-ruby-shipped-with-os-x/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 08:29:10 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7820</guid>
		<description><![CDATA[Using QuickRadar decreased my barrier of pain for filing Radars to a level that I find myself also filing way more benign ones like &#8230; Filed as rdar://13450321 and on Open Radar. Please dupe it if you agree. Update Ruby shipped with OS X Seriously I&#8217;m sick of my colleagues complaining that Apple has not updated the version of Ruby that ships with the OS X for 9 YEARS now. ruby --version ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] According to Wikipedia Ruby 2.0 was released on February 24, 2013. Ruby 1.9 was released in December 2007. I think most developers would be delighted if Apple updated the bundled Ruby to version 1.9, they would be ecstatic if Apple went &#8220;all-in&#8221; and adopted ruby 2.0 in the next major OS Version. Please Apple, *PLEASE* this is really a request that causes little work (have an Intern do it!) but big rewards. Goodwill from the developer community, fame, wealth, good fortune, good karma…. and my ever lasting gratitude for having one less reason for people whine around me that you are supposedly boycotting any development language other than Objective-C.]]></description>
				<content:encoded><![CDATA[<p>Using <a href="http://www.quickradar.com">QuickRadar</a> decreased my barrier of pain for filing Radars to a level that I find myself also filing way more benign ones like &#8230;</p>
<p>Filed as rdar://13450321 and on <a href="http://www.openradar.me/13450321">Open Radar</a>. Please dupe it if you agree.</p>
<p><span id="more-7820"></span></p>
<div id="more-7820"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Update Ruby shipped with OS X</h3>
<p>Seriously I&#8217;m <em>sick</em> of my colleagues complaining that Apple has not updated the version of Ruby that ships with the OS X for 9 YEARS now.</p>

<div class="wp_codebox"><table><tr id="p78202"><td class="code" id="p7820code2"><pre class="sh" style="font-family:monospace;">ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]</pre></td></tr></table></div>

<p>According to <a href="http://en.wikipedia.org/wiki/Ruby_(programming_language)#Ruby_2.0">Wikipedia</a> Ruby 2.0 was released on February 24, 2013. Ruby 1.9 was released in December 2007.</p>
<p>I think most developers would be delighted if Apple updated the bundled Ruby to version 1.9, they would be ecstatic if Apple went &#8220;all-in&#8221; and adopted ruby 2.0 in the next major OS Version.</p>
<p>Please Apple, *PLEASE* this is really a request that causes little work (have an Intern do it!) but big rewards. Goodwill from the developer community, fame, wealth, good fortune, good karma…. and my ever lasting gratitude for having one less reason for people whine around me that you are supposedly boycotting any development language other than Objective-C.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7820&amp;md5=b9c2866f18a9ed0cfb09bcfe0c148d35" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/03/radar-update-ruby-shipped-with-os-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F03%2Fradar-update-ruby-shipped-with-os-x%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Update+Ruby+shipped+with+OS+X&amp;description=Using+QuickRadar+decreased+my+barrier+of+pain+for+filing+Radars+to+a+level+that+I+find+myself+also+filing+way+more+benign+ones+like+%26%238230%3B+Filed+as%C2%A0rdar%3A%2F%2F13450321+and+on+Open...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Provide Warnings if App Might Crash on Devices with Previous iOS Version</title>
		<link>http://www.cocoanetics.com/2013/03/radar-provide-warnings-if-app-might-crash-on-devices-with-previous-ios-version/</link>
		<comments>http://www.cocoanetics.com/2013/03/radar-provide-warnings-if-app-might-crash-on-devices-with-previous-ios-version/#comments</comments>
		<pubDate>Sat, 16 Mar 2013 14:37:08 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7788</guid>
		<description><![CDATA[On more than one occasion I&#8217;ve been stumped by some new functionality from a newer iOS version crashing when used on an older iOS device. You know, the kind of problem that you&#8217;re supposed to catch yourself with a NSStringFromClass or respondsToSelector. The recently released Deploymate app scans your Xcode projects for such problems and flags them. This proves that such an analysis is possible and can be implemented. The developer of Deploymate confided that he hesitated to release for a long while since he feared that Apple might put exactly this functionality into Xcode. But they never did, so he created the app. This Radar is my documented suggestion to Apple to finally add such functionality into Xcode. Worst case they should acquire the technology employed by Deploymate and add that. But I am quite certain that LLVM&#8217;s analysis capabilities should be able to put to this use as well. Filed as rdar://13436964 and on OpenRadar. Xcode: Provide Warnings if App might Crash on devices with previous iOS version Compiling with &#8220;Latest SDK&#8221; allows developers to make use of new functionality in the latest SDKs, but if the deployment target allows for execution on earlier iOS versions then there are many scenarios where usage of new functionality or even constants might lead to a crash. The IDE should detect scenarios where the developer forgot add the appropriate checks if functionality exists (e.g. respondsToSelector) and point out code where a crash is inevitable. That such functionality is possible is proven by a newly released app called Deploymate (http://www.deploymateapp.com) which scans an Xcode project and flags such problems. From personal experience I can say that even though we developers KNOW about having to check for these scenarios and also test on older supported iOS versions it DOES happen and the result is always embarrassment for having shipped an app that crashes. By baking such a tool into the Xcode IDE it would save us this embarrassment.]]></description>
				<content:encoded><![CDATA[<p>On more than one occasion I&#8217;ve been stumped by some new functionality from a newer iOS version crashing when used on an older iOS device. You know, the kind of problem that you&#8217;re supposed to catch yourself with a NSStringFromClass or respondsToSelector.</p>
<p>The recently released <a href="http://www.deploymateapp.com">Deploymate</a> app scans your Xcode projects for such problems and flags them. This proves that such an analysis is possible and can be implemented. The developer of Deploymate confided that he hesitated to release for a long while since he feared that Apple might put exactly this functionality into Xcode. But they never did, so he created the app.</p>
<p>This Radar is my documented suggestion to Apple to finally add such functionality into Xcode. Worst case they should acquire the technology employed by Deploymate and add that. But I am quite certain that LLVM&#8217;s analysis capabilities should be able to put to this use as well.</p>
<p>Filed as rdar://13436964 and on <a href="http://www.openradar.me/13436964">OpenRadar</a>.</p>
<p><span id="more-7788"></span></p>
<div id="more-7788"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Xcode: Provide Warnings if App might Crash on devices with previous iOS version</h3>
<p>Compiling with &#8220;Latest SDK&#8221; allows developers to make use of new functionality in the latest SDKs, but if the deployment target allows for execution on earlier iOS versions then there are many scenarios where usage of new functionality or even constants might lead to a crash.</p>
<p>The IDE should detect scenarios where the developer forgot add the appropriate checks if functionality exists (e.g. respondsToSelector) and point out code where a crash is inevitable.</p>
<p>That such functionality is possible is proven by a newly released app called Deploymate (http://www.deploymateapp.com) which scans an Xcode project and flags such problems.</p>
<p>From personal experience I can say that even though we developers KNOW about having to check for these scenarios and also test on older supported iOS versions it DOES happen and the result is always embarrassment for having shipped an app that crashes. By baking such a tool into the Xcode IDE it would save us this embarrassment.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7788&amp;md5=4b5d2cb8e71eee78db2c9701d9242c63" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/03/radar-provide-warnings-if-app-might-crash-on-devices-with-previous-ios-version/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F03%2Fradar-provide-warnings-if-app-might-crash-on-devices-with-previous-ios-version%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Provide+Warnings+if+App+Might+Crash+on+Devices+with+Previous+iOS+Version&amp;description=On+more+than+one+occasion+I%26%238217%3Bve+been+stumped+by+some+new+functionality+from+a+newer+iOS+version+crashing+when+used+on+an+older+iOS+device.+You+know%2C+the+kind+of...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Xcode Should Support Auto Save and Versions</title>
		<link>http://www.cocoanetics.com/2013/02/radar-xcode-should-support-auto-save-and-versions/</link>
		<comments>http://www.cocoanetics.com/2013/02/radar-xcode-should-support-auto-save-and-versions/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 09:33:53 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7640</guid>
		<description><![CDATA[This is a feature request for something that could have used just yesterday. Filed as rdar://13271368  and on Open Radar. Update: I was made aware by an Apple engineer that Xcode is indeed already autosaving versions of your files as you make changes.  Versions is an OS X feature. But there is no Revert menu option in Xcode to access these saves. As a workaround you can open the source file in TextEdit and do the reverting there! A hidden feature that is so well hidden, it&#8217;s even in a different app! Since 10.7 OS X has support for Auto Save and Versions. Xcode 4 doesn&#8217;t support these tool that are invaluable to people writing much text, like developers. It happened to me yesterday that I accidentally reverted two files that I had been working on the entire day. That kind of thing can happen if it is late and you just want to finally commit your work to the SCM, but want to revert the modifications you made for testing. I was saved by Time Machine in this instance because it had a version from half an hour ago. Still Xcode should support Auto Save and Versions &#8211; like any other good citizen on OS X &#8211; so that I can always go back to a specific auto-save. Even better Xcode could integrate the auto-saves with the the version comparison tool allowing editing of the current version and copy/pasting code from older versions into the current one. The use case for this is that often I find myself going back several dozens of steps with Undo, copy something from the past, Redo back into the present and then insert the code. So in summary Xcode should: files should be saved frequently and automatically as I manipulate them allow reverting back to earlier versions of files via Versions (Time Machine-like interface via File Menu) allow version comparison with local history in contrast to remote history coming from SCM Other competing development environments like AppCode have this feature already, see the attached screen shot. Please, I love Xcode and I don&#8217;t want to switch. But you&#8217;ll get the fifth star only if you implement this.]]></description>
				<content:encoded><![CDATA[<p>This is a feature request for something that could have used just yesterday. Filed as rdar://13271368  and on <a href="http://www.openradar.me/radar?id=2752403">Open Radar</a>.</p>
<p><strong>Update:</strong> I was made aware by an Apple engineer that Xcode is indeed already autosaving versions of your files as you make changes.  Versions is an OS X feature. But there is no Revert menu option in Xcode to access these saves. As a workaround you can open the source file in TextEdit and do the reverting there! A hidden feature that is so well hidden, it&#8217;s even in a different app!</p>
<p><span id="more-7640"></span></p>
<div id="more-7640"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>Since 10.7 OS X has support for <a href="http://support.apple.com/kb/HT4753">Auto Save and Versions</a>. Xcode 4 doesn&#8217;t support these tool that are invaluable to people writing much text, like developers.</p>
<p>It happened to me yesterday that I accidentally reverted two files that I had been working on the entire day. That kind of thing can happen if it is late and you just want to finally commit your work to the SCM, but want to revert the modifications you made for testing.</p>
<p>I was saved by Time Machine in this instance because it had a version from half an hour ago. Still Xcode should support Auto Save and Versions &#8211; like any other good citizen on OS X &#8211; so that I can always go back to a specific auto-save.</p>
<p>Even better Xcode could integrate the auto-saves with the the version comparison tool allowing editing of the current version and copy/pasting code from older versions into the current one. The use case for this is that often I find myself going back several dozens of steps with Undo, copy something from the past, Redo back into the present and then insert the code.</p>
<p>So in summary Xcode should:</p>
<ul>
<li>files should be saved frequently and automatically as I manipulate them</li>
<li>allow reverting back to earlier versions of files via Versions (Time Machine-like interface via File Menu)</li>
<li>allow version comparison with local history in contrast to remote history coming from SCM</li>
</ul>
<p>Other competing development environments like <a href="http://www.jetbrains.com/objc/">AppCode</a> have this feature already, see the attached screen shot.</p>
<p><a href="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-02-22-at-09.35.42.png"><img class="alignnone  wp-image-7641" alt="AppCode Local History" src="http://i0.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-02-22-at-09.35.42.png?resize=614%2C320" data-recalc-dims="1" /></a></p>
<p>Please, I love Xcode and I don&#8217;t want to switch. But you&#8217;ll get the fifth star only if you implement this. <img src='http://i1.wp.com/www.cocoanetics.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' data-recalc-dims="1" /> </p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7640&amp;md5=c98ac4cd81369b6f0fd6a91aab6d2a10" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/02/radar-xcode-should-support-auto-save-and-versions/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F02%2Fradar-xcode-should-support-auto-save-and-versions%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Xcode+Should+Support+Auto+Save+and+Versions&amp;description=This+is+a+feature+request+for+something+that+could+have+used+just+yesterday.+Filed+as+rdar%3A%2F%2F13271368+%C2%A0and+on+Open+Radar.+Update%3A+I+was+made+aware+by+an+Apple+engineer+that...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Interface Builder&#8217;s First Responder is missing some Editing Actions</title>
		<link>http://www.cocoanetics.com/2013/01/radar-interface-builders-first-responder-is-missing-some-editing-actions/</link>
		<comments>http://www.cocoanetics.com/2013/01/radar-interface-builders-first-responder-is-missing-some-editing-actions/#comments</comments>
		<pubDate>Wed, 30 Jan 2013 08:48:28 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7516</guid>
		<description><![CDATA[I noticed the bug when I re-added an Edit menu to a Mac app that I had earlier removed. Turns out that all your NSTextFields lose their ability to cut/copy/paste and undo if you don&#8217;t have corresponding menu items. So after I copied the menu over for another app I found that I couldn&#8217;t find the redo: action to connect to the Redo menu item. Filed as Radar rdar://13113666 and cross-posted on Open Radar. Summary When creating a new Mac app the Interface Builder does not see several standard actions, amongst them redo:. This leads to developer confusion if you want to re-add an Edit menu because there is no redo action to connect to a Redo menu item. Steps to Reproduce: Create a new Mac app view MainMenu.xib&#8217;s actions on First Responder several items, including redo: have an exclamation mark next to them delete the connection to redo and the item will disappear altogether Expected Results There is an undo: action, so there should also be a redo: action I would expect to be able to connect a Redo menu item to a redo: action. Actual Results There is no redo: action visible Instead the I need to create a custom action redo: to be able to make the connection Regression This is usually not noticeable because few people would remove the Edit menu. Notes As a workaround you can create a custom action named redo:. It does not seem to interfere with normal operation of the app. You can also remove the custom action after making the connection if you don&#8217;t mind the exclamation mark in the list of First Responder&#8217;s actions.]]></description>
				<content:encoded><![CDATA[<p>I noticed the bug when I re-added an Edit menu to a Mac app that I had earlier removed. Turns out that all your NSTextFields lose their ability to cut/copy/paste and undo if you don&#8217;t have corresponding menu items.</p>
<p>So after I copied the menu over for another app I found that I couldn&#8217;t find the redo: action to connect to the Redo menu item. Filed as Radar <a href="http://www.openradar.me/radar?id=2630401">rdar://13113666</a> and cross-posted on Open Radar.</p>
<p><span id="more-7516"></span></p>
<div id="more-7516"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>When creating a new Mac app the Interface Builder does not see several standard actions, amongst them redo:. This leads to developer confusion if you want to re-add an Edit menu because there is no redo action to connect to a Redo menu item.</p>
<h3>Steps to Reproduce:</h3>
<ul>
<li>Create a new Mac app</li>
<li>view MainMenu.xib&#8217;s actions on First Responder</li>
<li>several items, including redo: have an exclamation mark next to them</li>
<li>delete the connection to redo and the item will disappear altogether</li>
</ul>
<h3>Expected Results</h3>
<ul>
<li>There is an undo: action, so there should also be a redo: action</li>
<li>I would expect to be able to connect a Redo menu item to a redo: action.</li>
</ul>
<h3>Actual Results</h3>
<ul>
<li>There is no redo: action visible</li>
<li>Instead the</li>
<li>I need to create a custom action redo: to be able to make the connection</li>
</ul>
<h3>Regression</h3>
<p>This is usually not noticeable because few people would remove the Edit menu.</p>
<h3>Notes</h3>
<p>As a workaround you can create a custom action named redo:. It does not seem to interfere with normal operation of the app. You can also remove the custom action after making the connection if you don&#8217;t mind the exclamation mark in the list of First Responder&#8217;s actions.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2013-01-30-um-09.41.55.png"><img class="alignnone size-full wp-image-7517" alt="redo: missing" src="http://i2.wp.com/www.cocoanetics.com/files/Bildschirmfoto-2013-01-30-um-09.41.55.png?resize=306%2C333" data-recalc-dims="1" /></a></p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7516&amp;md5=40bb85bfecb1bf54519c7cbf0674866d" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/01/radar-interface-builders-first-responder-is-missing-some-editing-actions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F01%2Fradar-interface-builders-first-responder-is-missing-some-editing-actions%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Interface+Builder%26%238217%3Bs+First+Responder+is+missing+some+Editing+Actions&amp;description=I+noticed+the+bug+when+I+re-added+an+Edit+menu+to+a+Mac+app+that+I+had+earlier+removed.+Turns+out+that+all+your+NSTextFields+lose+their+ability+to+cut%2Fcopy%2Fpaste...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Horizontal Line Autolayout and Layer-Backing</title>
		<link>http://www.cocoanetics.com/2013/01/radar-horizontal-line-autolayout-and-layer-backing/</link>
		<comments>http://www.cocoanetics.com/2013/01/radar-horizontal-line-autolayout-and-layer-backing/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 10:44:13 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7499</guid>
		<description><![CDATA[There are apparently a great many views on Mac that don&#8217;t behave properly if you enable layer-backing. I recently reported a bug in drawing NSTextField backgrounds together with layer-backing, now here is a bug I found in NSBox. Filed as rdar://13059657 Summary An NSBox displaying a horizontal line as subview of a layer-backed NSView does not size correctly. Steps to Reproduce Have an NSView that you enable layer-backing on with setWantsLayer:YES In Interface Builder add a &#8220;Horizontal Line&#8221; element to this view Size it such that it goes the entire width of the superview and layout contraints are 0 px for left and right Expected Results The horizontal line should keep sizing together with the superview Actual Results The horizontal line only grows to around 1588px If you disable layer backing on the superview the behavior returns to normal Regression Appears to be a problem with layer backing. Notes Possibly related to rdar://problem/13006140 where a text field background is not sized correctly in layer-backed mode.]]></description>
				<content:encoded><![CDATA[<p>There are apparently a great many views on Mac that don&#8217;t behave properly if you enable layer-backing. I recently reported a bug in<a title="Radar: NSTextField Redrawing of Background With Layer-Backing" href="http://www.cocoanetics.com/2013/01/radar-nstextfield-redrawing-of-background-with-layer-backing/"> drawing NSTextField backgrounds</a> together with layer-backing, now here is a bug I found in NSBox.</p>
<p>Filed as <a href="http://www.openradar.me/13059657">rdar://13059657</a></p>
<p><span id="more-7499"></span></p>
<div id="more-7499"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>An NSBox displaying a horizontal line as subview of a layer-backed NSView does not size correctly.</p>
<h3>Steps to Reproduce</h3>
<ul>
<li>Have an NSView that you enable layer-backing on with setWantsLayer:YES</li>
<li>In Interface Builder add a &#8220;Horizontal Line&#8221; element to this view</li>
<li>Size it such that it goes the entire width of the superview and layout contraints are 0 px for left and right</li>
</ul>
<h3>Expected Results</h3>
<ul>
<li>The horizontal line should keep sizing together with the superview</li>
</ul>
<h3>Actual Results</h3>
<ul>
<li>The horizontal line only grows to around 1588px</li>
<li>If you disable layer backing on the superview the behavior returns to normal</li>
</ul>
<h3>Regression</h3>
<ul>
<li>Appears to be a problem with layer backing.</li>
</ul>
<h3>Notes</h3>
<p>Possibly related to rdar://problem/13006140 where a text field background is not sized correctly in layer-backed mode.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7499&amp;md5=f05dfd0d5044bc7f51465d7a8d700f1b" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/01/radar-horizontal-line-autolayout-and-layer-backing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F01%2Fradar-horizontal-line-autolayout-and-layer-backing%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Horizontal+Line+Autolayout+and+Layer-Backing&amp;description=There+are+apparently+a+great+many+views+on+Mac+that+don%26%238217%3Bt+behave+properly+if+you+enable+layer-backing.+I+recently+reported+a+bug+in+drawing+NSTextField+backgrounds+together+with+layer-backing%2C+now...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: NSTextField Redrawing of Background With Layer-Backing</title>
		<link>http://www.cocoanetics.com/2013/01/radar-nstextfield-redrawing-of-background-with-layer-backing/</link>
		<comments>http://www.cocoanetics.com/2013/01/radar-nstextfield-redrawing-of-background-with-layer-backing/#comments</comments>
		<pubDate>Mon, 14 Jan 2013 10:55:14 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7466</guid>
		<description><![CDATA[I noticed this bug in NSTextField already back last year but I procrastinated until I saw it the second time in the second Mac app I am building. I did have a workaround for the bug, so it was not that pressing. But I guess we should consider it our duty as Mac developers to make sure that Apple knows about bugs for this platform. So finally here&#8217;s my Radar for it. rdar://13006140 NSTextField Redrawing of Background With Layer-Backing Summary When used as subview of a view that has layer-backing turned on then making it wider causes the background color to not fill the entire area of the control. I am seeing this bug in a scenario where I have a text field in an inspector panel that I can change in width via an NSSplitView. I attached a screen shot of the bug how it appears on an empty text field without the workaround mentioned below. Steps to Reproduce have an NSView that has layer-backing turned on add an NSTextField as a subview to that have layout constraints that fix the left and right margin between the text field and the superview enlarge the NSView Expected Results the background color of the control should be filled consistently the amount of text in the textfield seems to play a role. If it is empty then the unfilled background stays. If not then it might get filled once the user release the mouse button Actual Results Only the part of the control that was visible before stays filled, the new space appearing on the right side does not have background filling Regression Only occurs in connection with layers. Notes As workaround I subclassed NSTextField and overwrite drawRect like this: - &#40;void&#41;drawRect:&#40;NSRect&#41;dirtyRect &#123; &#91;super drawRect:self.bounds&#93;; &#125; This fixes the problem because the dirtyRect is too small.]]></description>
				<content:encoded><![CDATA[<p>I noticed this bug in NSTextField already <a title="Assorted Observations" href="http://www.cocoanetics.com/2012/10/assorted-observations/">back last year</a> but I procrastinated until I saw it the second time in the second Mac app I am building. I did have a workaround for the bug, so it was not that pressing.</p>
<p>But I guess we should consider it our duty as Mac developers to make sure that Apple knows about bugs for this platform. So finally here&#8217;s my Radar for it. <a href="http://www.openradar.me/radar?id=2552401">rdar://13006140</a></p>
<p><span id="more-7466"></span></p>
<div id="more-7466"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h2>NSTextField Redrawing of Background With Layer-Backing</h2>
<h3>Summary</h3>
<p>When used as subview of a view that has layer-backing turned on then making it wider causes the background color to not fill the entire area of the control.</p>
<p>I am seeing this bug in a scenario where I have a text field in an inspector panel that I can change in width via an NSSplitView. I attached a screen shot of the bug how it appears on an empty text field without the workaround mentioned below.</p>
<p><a href="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-01-14-at-11.27.58-AM.png"><img class="alignnone size-full wp-image-7467" alt="Screen Shot 2013-01-14 at 11.27.58 AM" src="http://i2.wp.com/www.cocoanetics.com/files/Screen-Shot-2013-01-14-at-11.27.58-AM.png?resize=418%2C93" data-recalc-dims="1" /></a></p>
<h3>Steps to Reproduce</h3>
<ul>
<li>have an NSView that has layer-backing turned on</li>
<li>add an NSTextField as a subview to that</li>
<li>have layout constraints that fix the left and right margin between the text field and the superview</li>
<li>enlarge the NSView</li>
</ul>
<h3>Expected Results</h3>
<ul>
<li>the background color of the control should be filled consistently</li>
<li>the amount of text in the textfield seems to play a role. If it is empty then the unfilled background stays. If not then it might get filled once the user release the mouse button</li>
</ul>
<h3>Actual Results</h3>
<p>Only the part of the control that was visible before stays filled, the new space appearing on the right side does not have background filling</p>
<h3>Regression</h3>
<p>Only occurs in connection with layers.</p>
<h3>Notes</h3>
<p>As workaround I subclassed NSTextField and overwrite drawRect like this:</p>

<div class="wp_codebox"><table><tr id="p74665"><td class="code" id="p7466code5"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>drawRect<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">NSRect</span><span style="color: #002200;">&#41;</span>dirtyRect
<span style="color: #002200;">&#123;</span>
	<span style="color: #002200;">&#91;</span>super drawRect<span style="color: #002200;">:</span>self.bounds<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></td></tr></table></div>

<p>This fixes the problem because the dirtyRect is too small.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7466&amp;md5=a0bd64de0d475703f7723293517f3f49" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2013/01/radar-nstextfield-redrawing-of-background-with-layer-backing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2013%2F01%2Fradar-nstextfield-redrawing-of-background-with-layer-backing%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+NSTextField+Redrawing+of+Background+With+Layer-Backing&amp;description=I+noticed+this+bug+in+NSTextField+already+back+last+year+but+I+procrastinated+until+I+saw+it+the+second+time+in+the+second+Mac+app+I+am+building.+I+did...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Support Multiple Shadows in NSHTMLWriter</title>
		<link>http://www.cocoanetics.com/2012/12/radar-support-multiple-shadows-in-nshtmlwriter/</link>
		<comments>http://www.cocoanetics.com/2012/12/radar-support-multiple-shadows-in-nshtmlwriter/#comments</comments>
		<pubDate>Wed, 19 Dec 2012 07:05:44 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7380</guid>
		<description><![CDATA[That was an easy Radar for me to file. It&#8217;s not a bug, but it is bugging me nevertheless. I am disturbed by the disparity between the NSShadowAttributeName attribute (which can only hold a single NSShadow) and CSS where you can have multiple shadows. Because NSHTMLWriter simply copies these to the CSS style of a span it should be quite easy to to also let NSHTMLWriter take an array. It&#8217;s not a very important feature to have, but hey &#8230; it would give me some peace of mind. Filed as Radar#12908144. Support multiple Shadows in NSHTMLWriter The current implementation of NSHTMLWriter only supports a single shadow. This shadow is an NSShadow instance set with attribute key NSShadowAttributeName. NSHTMLWriter maps those core text attributes to their CSS counterparts for display in e.g. UITextView. CSS supports multiple shadows, e.g. &#60;p style="text-shadow:0.2em 0.5em 0.1em #600, -0.3em 0.1em 0.1em #060, 0.4em -0.3em 0.1em #006"&#62;Multiple Shadows&#60;/p&#62; My enhancement request is to allow the NSShadowAttributeName to also be an array of multiple NSShadow instances. Those would simply be transferred to the css style for the span. This enhancement would make shadows work the same in HTML and CoreText.]]></description>
				<content:encoded><![CDATA[<p>That was an easy Radar for me to file. It&#8217;s not a bug, but it is bugging me nevertheless.</p>
<p>I am disturbed by the disparity between the NSShadowAttributeName attribute (which can only hold a single NSShadow) and CSS where you can have multiple shadows. Because NSHTMLWriter simply copies these to the CSS style of a span it should be quite easy to to also let NSHTMLWriter take an array.</p>
<p>It&#8217;s not a very important feature to have, but hey &#8230; it would give me some peace of mind. <img src='http://i1.wp.com/www.cocoanetics.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' data-recalc-dims="1" /> </p>
<p>Filed as Radar#<a href="http://www.openradar.me/radar?id=2458402">12908144</a>.</p>
<p><span id="more-7380"></span></p>
<div id="more-7380"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Support multiple Shadows in NSHTMLWriter</h3>
<p>The current implementation of NSHTMLWriter only supports a single shadow. This shadow is an NSShadow instance set with attribute key NSShadowAttributeName.</p>
<p>NSHTMLWriter maps those core text attributes to their CSS counterparts for display in e.g. UITextView. CSS supports multiple shadows, e.g.</p>
<pre>&lt;p style="text-shadow:0.2em 0.5em 0.1em #600,
 -0.3em 0.1em 0.1em #060,
 0.4em -0.3em 0.1em #006"&gt;Multiple Shadows&lt;/p&gt;</pre>
<p>My enhancement request is to allow the NSShadowAttributeName to also be an array of multiple NSShadow instances. Those would simply be transferred to the css style for the span.</p>
<p>This enhancement would make shadows work the same in HTML and CoreText.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7380&amp;md5=803cf7189d3f9f89be9c01b77b80ae62" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/12/radar-support-multiple-shadows-in-nshtmlwriter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F12%2Fradar-support-multiple-shadows-in-nshtmlwriter%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Support+Multiple+Shadows+in+NSHTMLWriter&amp;description=That+was+an+easy+Radar+for+me+to+file.+It%26%238217%3Bs+not+a+bug%2C+but+it+is+bugging+me+nevertheless.+I+am+disturbed+by+the+disparity+between+the%C2%A0NSShadowAttributeName+attribute+%28which+can...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: UITextView Ignores Font Kerning</title>
		<link>http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-font-kerning/</link>
		<comments>http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-font-kerning/#comments</comments>
		<pubDate>Sun, 16 Dec 2012 18:49:40 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7372</guid>
		<description><![CDATA[While researching the root cause for the UITextView line-height bug I also found another difference between attributed strings rendered via CoreText and UITextView. The latter ignores font kerning. UITextView uses Webkit for displaying attributed strings. Unfortunately Kerning is disabled on Webkit views unless you specify a certain CSS style. If you look at the AV characters you can see how the version with Kerning enabled has the AV seem at a more natural distance while the lower line has an uncomfortably wide distance between them. In the Radar (which I filed under #12889869) I argue that when setting text on UITextView via setAttributedString we developers expect for Kerning to be on by default since this is the way that is closest to how CoreText renders it. Summary When setting an attributedText on a UITextView the text is rendered with Kerning disabled. Steps to Reproduce Create a simple attributed string, e.g. &#8220;AV&#8221; in Times New Roman with 50 px font size Expected Results When setting this attributed string on a UITextView it should display the text with Kerning, as is the default when rendering this text via CoreText. For the example &#8220;AV&#8221; the right bottom of the A is overlapping the left top of the V. Actual Results Letters do not overlap making the text harder to read. Especially if using UITextView to display a longer text for reading it is bad to have Kerning disabled. Regression Support for NSAttributedText is new as of iOS 6. Notes Internally UITextView converts the attributed string to HTML via NSHTMLWriter and then displays it in a UIWebDocumentView. The default mode for this is to have Kerning disabled. It can be enabled by the CSS style, which is mentioned here. text-rendering: optimizeLegibility; Having this not be the default also confuses developer, as you can see on this question on stack overflow. I propose that when text is set via setAttributedText on UITextView to make this setting the default since as a developer we would expect the output to match CoreText as closely as possible.]]></description>
				<content:encoded><![CDATA[<p>While researching the root cause for the <a title="Radar: UITextView Ignores Minimum/Maximum Line Height in Attributed String" href="http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-string/">UITextView line-height bug</a> I also found another difference between attributed strings rendered via CoreText and UITextView. The latter ignores font kerning.</p>
<p>UITextView uses Webkit for displaying attributed strings. Unfortunately Kerning is disabled on Webkit views unless you specify a certain CSS style.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-16-at-19.43.05.png"><img class="alignnone  wp-image-7373" alt="Kerning in Browser" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-16-at-19.43.05.png?resize=321%2C121" data-recalc-dims="1" /></a></p>
<p>If you look at the AV characters you can see how the version with Kerning enabled has the AV seem at a more natural distance while the lower line has an uncomfortably wide distance between them.</p>
<p>In the Radar (which I filed under <a href="http://www.openradar.me/radar?id=2438401">#12889869</a>) I argue that when setting text on UITextView via setAttributedString we developers expect for Kerning to be on by default since this is the way that is closest to how CoreText renders it.<br />
<span id="more-7372"></span></p>
<div id="more-7372"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>When setting an attributedText on a UITextView the text is rendered with Kerning disabled.</p>
<h3>Steps to Reproduce</h3>
<p>Create a simple attributed string, e.g. &#8220;AV&#8221; in Times New Roman with 50 px font size</p>
<h3>Expected Results</h3>
<p>When setting this attributed string on a UITextView it should display the text with Kerning, as is the default when rendering this text via CoreText. For the example &#8220;AV&#8221; the right bottom of the A is overlapping the left top of the V.</p>
<h3>Actual Results</h3>
<p>Letters do not overlap making the text harder to read. Especially if using UITextView to display a longer text for reading it is bad to have Kerning disabled.</p>
<h3>Regression</h3>
<p>Support for NSAttributedText is new as of iOS 6.</p>
<h3>Notes</h3>
<p>Internally UITextView converts the attributed string to HTML via NSHTMLWriter and then displays it in a UIWebDocumentView. The default mode for this is to have Kerning disabled.</p>
<p>It can be enabled by the CSS style, which is mentioned <a href="http://en.wikipedia.org/wiki/Kerning">here</a>.</p>
<pre>text-rendering: optimizeLegibility;</pre>
<p>Having this not be the default also confuses developer, as you can see on this <a href="http://stackoverflow.com/questions/13239267/kerning-in-ios-uitextview">question on stack overflow</a>.</p>
<p>I propose that when text is set via setAttributedText on UITextView to make this setting the default since as a developer we would expect the output to match CoreText as closely as possible.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7372&amp;md5=1d3a8cfcc8aaa94d4ae63d6056861077" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-font-kerning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F12%2Fradar-uitextview-ignores-font-kerning%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+UITextView+Ignores+Font+Kerning&amp;description=While+researching+the+root+cause+for+the+UITextView+line-height+bug%C2%A0I+also+found+another+difference+between+attributed+strings+rendered+via+CoreText+and+UITextView.+The+latter+ignores+font+kerning.+UITextView+uses+Webkit...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: UITextView Ignores Minimum/Maximum Line Height in Attributed String</title>
		<link>http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-string/</link>
		<comments>http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-string/#comments</comments>
		<pubDate>Wed, 12 Dec 2012 12:08:40 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7334</guid>
		<description><![CDATA[I&#8217;m working on making DTCoreText iOS 6 compatible and when implementing line heights I found this problem. Naturally I filed a radar. This is one of many shortcomings of UIKit&#8217;s support for attributed strings. A workaround for this was described as having to omit font attributes from the attributed string. So you can either have multiple fonts and unchanging line height or only the font you set on the font property of UITextView. Other people are having the same problem, as outlined by this question on StackOverflow. Filed as rdar://12863734 Summary If an attributed string contains both a font attribute as well as a paragraph style attribute that sets minimum/maximum line height those line height constraints are ignored. Steps to Reproduce Create an attributed string that contains a font and paragraph style attribute. Make sure the paragraph style attribute sets a minimum and maximum line height that is less than the font line height. Set this attributed string on a UITextView&#8217;s attributedString property. Expected Results The lines should be spaced by the amount of the specified minimum/maximum. Actual Results The lines are spaced as they would be without the paragraph style settings. Regression UITextView only supports attributed strings since iOS 6. Since then this is broken. Notes The problem seems to result if you have multiple different fonts, like when you have some bold or italic text in the string. Apple engineering asked for a sample app which I provided to them: minmaxlineheightbug.zip. I also added those further findings: I have attached a sample app that demonstrates the problem. Launch it and you see a selector at the top which sets the text view to a version with and without a font attribute. For your convenience I did further research and found that the bug lies with NSHTMLWriter. You can see the two kinds of output in the lower text view, they only differ on the p.p1. Compare the output for p.p1 (the first paragraph) for the version WITHOUT font: p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 40.0px} and WITH font: p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 40.0px; font: 14.0px Helvetica} The bug here is easy to miss, I also had to look up the font CSS shorthand. The font shorthand sets BOTH the font-size as well as the line-height thus overruling the 40px. This is true both for UIWebView as well as Safari. WORKAROUNDS: If you change the order of items in p.p1, then it works: p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica;line-height: 40.0px;} Alternatively you can dispense with the font short hand and spell out all items, that works as well: p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 40.0px;font-size:14px;font-family:Helvetica;}]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m working on making DTCoreText iOS 6 compatible and when implementing line heights I found this problem. Naturally I filed a radar.</p>
<p>This is one of many shortcomings of UIKit&#8217;s support for attributed strings. A workaround for this was described as having to omit font attributes from the attributed string. So you can either have multiple fonts and unchanging line height or only the font you set on the font property of UITextView.</p>
<p>Other people are having the <a href="http://stackoverflow.com/questions/12562506/nsparagraphstyle-line-spacing-ignored">same problem</a>, as outlined by this question on StackOverflow.</p>
<p>Filed as <a href="http://www.openradar.me/radar?id=2417401">rdar://12863734</a></p>
<p><span id="more-7334"></span></p>
<div id="more-7334"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>If an attributed string contains both a font attribute as well as a paragraph style attribute that sets minimum/maximum line height those line height constraints are ignored.</p>
<h3>Steps to Reproduce</h3>
<p>Create an attributed string that contains a font and paragraph style attribute. Make sure the paragraph style attribute sets a minimum and maximum line height that is less than the font line height.<br />
Set this attributed string on a UITextView&#8217;s attributedString property.</p>
<h3>Expected Results</h3>
<p>The lines should be spaced by the amount of the specified minimum/maximum.</p>
<h3>Actual Results</h3>
<p>The lines are spaced as they would be without the paragraph style settings.</p>
<h3>Regression</h3>
<p>UITextView only supports attributed strings since iOS 6. Since then this is broken.</p>
<h3>Notes</h3>
<p>The problem seems to result if you have multiple different fonts, like when you have some bold or italic text in the string.</p>
<hr />
<p>Apple engineering asked for a sample app which I provided to them: <a href="http://www.cocoanetics.com/files/minmaxlineheightbug.zip">minmaxlineheightbug.zip</a>.</p>
<p>I also added those further findings:</p>
<p>I have attached a sample app that demonstrates the problem. Launch it and you see a selector at the top which sets the text view to a version with and without a font attribute.</p>
<p>For your convenience I did further research and found that the bug lies with NSHTMLWriter. You can see the two kinds of output in the lower text view, they only differ on the p.p1.</p>
<p>Compare the output for p.p1 (the first paragraph) for the version WITHOUT font:</p>
<pre>p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 40.0px}</pre>
<p>and WITH font:</p>
<pre>p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 40.0px; font: 14.0px Helvetica}</pre>
<p>The bug here is easy to miss, I also had to look up the <a href="http://www.w3schools.com/cssref/pr_font_font.asp">font CSS shorthand</a>.</p>
<p>The font shorthand sets BOTH the font-size as well as the line-height thus overruling the 40px. This is true both for UIWebView as well as Safari.</p>
<p>WORKAROUNDS:</p>
<p>If you change the order of items in p.p1, then it works:</p>
<pre>p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica;line-height: 40.0px;}</pre>
<p>Alternatively you can dispense with the font short hand and spell out all items, that works as well:</p>
<pre>p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 40.0px;font-size:14px;font-family:Helvetica;}</pre>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7334&amp;md5=ddabd8d8f06ef2671c2c5d398365a1d9" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/12/radar-uitextview-ignores-minimummaximum-line-height-in-attributed-string/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F12%2Fradar-uitextview-ignores-minimummaximum-line-height-in-attributed-string%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+UITextView+Ignores+Minimum%2FMaximum+Line+Height+in+Attributed+String&amp;description=I%26%238217%3Bm+working+on+making+DTCoreText+iOS+6+compatible+and+when+implementing+line+heights+I+found+this+problem.+Naturally+I+filed+a+radar.+This+is+one+of+many+shortcomings+of+UIKit%26%238217%3Bs...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Bug: Quartz PDF Rendering with CMYK Page-Level Transparency Blending Color Space</title>
		<link>http://www.cocoanetics.com/2012/12/bug-quartz-pdf-rendering-with-cmyk-page-level-transparency-blending-color-space/</link>
		<comments>http://www.cocoanetics.com/2012/12/bug-quartz-pdf-rendering-with-cmyk-page-level-transparency-blending-color-space/#comments</comments>
		<pubDate>Mon, 03 Dec 2012 15:41:24 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7307</guid>
		<description><![CDATA[That&#8217;s certainly a mouth full. We stumbled on this weirdness when working on PDF Importing for our iCatalog Editor. I am filing this as a Mac bug at the same time as communicating with DTS to see if they can offer a workaround for this problem. The problem appears if a PDF is using a CMYK color blending space on a page for transparency blending. That causes this effect. Left side is how the PDF comes out on Mac, right side how it looks correctly on iOS (Simulator/Device). Also if you view the PDF in Preview or Pixelmator it looks weird, only in Adobe&#8217;s tools do they look correct. If the behavior were the same on Mac and iOS then I would have thought to be Adobe using some weird special extension, but since the output is correct on iOS we think that this must actually be a bug. Maybe the Mac version of Quartz PDF rendering tries to do something smart since it is aware of color calibration but doing so messes up the colors. This is a bit embarrassing since one might think that Macs with all their color profiling and such would get the colors right, overtime. But this appears to be especially prevalent in the print industry which seems to like to use CMYK. Now the problem occurs if they want us developers to use the same PDFs that they created for printing. The only workaround I know of is to edit the PDF and modify the blending setting: I filed it under Radar #12796443 as well as cross-posted it on OpenRadar. Summary If a PDF document has pages that have a page-level transparency blending color space of CMYK then all output on Mac using Quartz PDF drawing will have incorrect colors. This affects drawing of PDFs via PDFKit, CGPDF functions, viewing in Preview and most third party apps, like e.g. Pixelmator. Adobe&#8217;s apps are the only ones the display it correctly. Interestingly the rendering behavior on iOS &#8211; including the iOS simulator on Mac &#8211; displays those PDFs correctly. Steps to Reproduce Create a PDF with e.g. Adobe InDesign, have some transparent elements Set the Page-Level Transparency Blending Color Space to CMYK View this PDF in Preview.app Expected Results Colors should look the same viewing the PDF on Mac as well as iOS. Actual Results iOS (device and simulator) show correct colors, on Mac the colors look less brilliant and muddy. Regression n/a Notes If this were happening uniformly on iOS and Mac then we&#8217;d say that this might be a problem with Adobe using some weird extensions. But since the colors are correct on iOS, even in the Simulator, we think that OS X is trying to do the right thing with the blending color space, but this causes the colors to be output incorrectly. This problem is most prevalent in the print industry because there CMYK is often as a default setting used instead of RGB. One would expect for Macs to get the colors right, being the tool of choice (even having color correction) for graphic designers worldwide.]]></description>
				<content:encoded><![CDATA[<p>That&#8217;s certainly a mouth full. We stumbled on this weirdness when working on PDF Importing for our iCatalog Editor. I am filing this as a Mac bug at the same time as communicating with DTS to see if they can offer a workaround for this problem.</p>
<p>The problem appears if a PDF is using a CMYK color blending space on a page for transparency blending. That causes this effect. Left side is how the PDF comes out on Mac, right side how it looks correctly on iOS (Simulator/Device). Also if you view the PDF in Preview or Pixelmator it looks weird, only in Adobe&#8217;s tools do they look correct.</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-03-at-16.26.27.png"><img class="alignnone size-full wp-image-7308" title="CMYK rendering issue" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-03-at-16.26.27.png?resize=204%2C130" alt="" data-recalc-dims="1" /></a></p>
<p>If the behavior were the same on Mac and iOS then I would have thought to be Adobe using some weird special extension, but since the output is correct on iOS we think that this must actually be a bug. Maybe the Mac version of Quartz PDF rendering tries to do something smart since it is aware of color calibration but doing so messes up the colors.</p>
<p><span id="more-7307"></span></p>
<div id="more-7307"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>This is a bit embarrassing since one might think that Macs with all their color profiling and such would get the colors right, overtime. But this appears to be especially prevalent in the <a href="http://forums.adobe.com/message/3140145">print industry</a> which seems to like to use CMYK. Now the problem occurs if they want us developers to use the same PDFs that they created for printing. The only workaround I know of is to edit the PDF and modify the blending setting:</p>
<p><a href="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-03-at-16.32.33.png"><img class="alignnone size-full wp-image-7310" title="Color Blending setting" src="http://i1.wp.com/www.cocoanetics.com/files/Screen-Shot-2012-12-03-at-16.32.33.png?resize=294%2C411" alt="" data-recalc-dims="1" /></a></p>
<p>I filed it under Radar #12796443 as well as cross-posted it on <a href="http://www.openradar.me/radar?id=2376401">OpenRadar</a>.</p>
<h3>Summary</h3>
<p>If a PDF document has pages that have a page-level transparency blending color space of CMYK then all output on Mac using Quartz PDF drawing will have incorrect colors.</p>
<p>This affects drawing of PDFs via PDFKit, CGPDF functions, viewing in Preview and most third party apps, like e.g. Pixelmator. Adobe&#8217;s apps are the only ones the display it correctly.</p>
<p>Interestingly the rendering behavior on iOS &#8211; including the iOS simulator on Mac &#8211; displays those PDFs correctly.</p>
<h3>Steps to Reproduce</h3>
<p>Create a PDF with e.g. Adobe InDesign, have some transparent elements<br />
Set the Page-Level Transparency Blending Color Space to CMYK<br />
View this PDF in Preview.app</p>
<h3>Expected Results</h3>
<p>Colors should look the same viewing the PDF on Mac as well as iOS.</p>
<h3>Actual Results</h3>
<p>iOS (device and simulator) show correct colors, on Mac the colors look less brilliant and muddy.</p>
<h3>Regression</h3>
<p>n/a</p>
<h3>Notes</h3>
<p>If this were happening uniformly on iOS and Mac then we&#8217;d say that this might be a problem with Adobe using some weird extensions. But since the colors are correct on iOS, even in the Simulator, we think that OS X is trying to do the right thing with the blending color space, but this causes the colors to be output incorrectly.</p>
<p>This problem is most prevalent in the print industry because there CMYK is often as a default setting used instead of RGB. One would expect for Macs to get the colors right, being the tool of choice (even having color correction) for graphic designers worldwide.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7307&amp;md5=aaae2bfc2f591e53f12352a4dc02edc1" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/12/bug-quartz-pdf-rendering-with-cmyk-page-level-transparency-blending-color-space/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F12%2Fbug-quartz-pdf-rendering-with-cmyk-page-level-transparency-blending-color-space%2F&amp;language=en_GB&amp;category=text&amp;title=Bug%3A+Quartz+PDF+Rendering+with+CMYK+Page-Level+Transparency+Blending+Color+Space&amp;description=That%26%238217%3Bs+certainly+a+mouth+full.+We+stumbled+on+this+weirdness+when+working+on+PDF+Importing+for+our+iCatalog+Editor.%C2%A0I+am+filing+this+as+a+Mac+bug+at+the+same+time...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: First Responder defunct when used in Storyboard</title>
		<link>http://www.cocoanetics.com/2012/09/radar-first-responder-defunct-when-used-in-storyboard/</link>
		<comments>http://www.cocoanetics.com/2012/09/radar-first-responder-defunct-when-used-in-storyboard/#comments</comments>
		<pubDate>Sun, 30 Sep 2012 02:55:05 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7112</guid>
		<description><![CDATA[Hot on the heels of my research into the responder chain comes this bug report. Nikita Korchagin deserves the main credit for mentioning this first to me. Turns out that Apple broke the responder chain as it used to work on Mac and non-storyboard apps. I&#8217;m filing this as a bug report to find out if this indeed a bug or an &#8220;undocumented feature&#8221;. rdar://12402078 Update Oct 5th: Apple closed this as suplicate of rdar://12395544 Summary Controls hooked up to user-defined actions on the First Responder proxy object fail to message the responder chain. Steps to Reproduce Create a new Utility app Add a doSomething:(id)sender to the app delegate, add a breakpoint there in the storyboard for FlipsideViewController define doSomething: under user-defined actions replace the link of the Done button with one to the First Responder proxy object and choose the doSomething action Build&#38;Run Expected Results The action should travel the responder chain and end up at the breakpoint in the app delegate Actual Results No action is invoked Regression The behavior is broken in Storyboards. It works when not using story boards. Notes On a non-storyboard app the sendAction of UIApplication has the next upper view controller as target. When using a storyboard the sendAction instead messages the UIBarButtonItem first. I suspect that because UIBarButtonItem is not a UIResponder subclass the default behavior is for the event bubbling to stop there. If you add a new button to the FlipsideController and also hook this hop to the doSomething: action it doesn&#8217;t even call the application&#8217;s sendAction. On a non-storyboard app this would also normally send the action to the closest view controller.]]></description>
				<content:encoded><![CDATA[<p>Hot on the heels of my <a title="The Amazing Responder Chain" href="http://www.cocoanetics.com/2012/09/the-amazing-responder-chain/">research into the responder chain</a> comes this bug report. Nikita Korchagin deserves the main credit for mentioning this first to me.</p>
<p>Turns out that Apple broke the responder chain as it used to work on Mac and non-storyboard apps. I&#8217;m filing this as a bug report to find out if this indeed a bug or an &#8220;undocumented feature&#8221;. <a href="http://www.openradar.me/12402078">rdar://12402078</a></p>
<p><strong>Update Oct 5th:</strong> Apple closed this as suplicate of rdar://12395544</p>
<p><span id="more-7112"></span></p>
<div id="more-7112"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>Summary</h3>
<p>Controls hooked up to user-defined actions on the First Responder proxy object fail to message the responder chain.</p>
<h3>Steps to Reproduce</h3>
<ul>
<li>Create a new Utility app</li>
<li>Add a doSomething:(id)sender to the app delegate, add a breakpoint there</li>
<li>in the storyboard for FlipsideViewController define doSomething: under user-defined actions</li>
<li>replace the link of the Done button with one to the First Responder proxy object and choose the doSomething action</li>
<li>Build&amp;Run</li>
</ul>
<h3>Expected Results</h3>
<p>The action should travel the responder chain and end up at the breakpoint in the app delegate</p>
<p><strong>Actual Results</strong></p>
<p>No action is invoked</p>
<p><strong>Regression</strong></p>
<p>The behavior is broken in Storyboards. It works when not using story boards.</p>
<h3>Notes</h3>
<p>On a non-storyboard app the sendAction of UIApplication has the next upper view controller as target. When using a storyboard the sendAction instead messages the UIBarButtonItem first. I suspect that because UIBarButtonItem is not a UIResponder subclass the default behavior is for the event bubbling to stop there.</p>
<p>If you add a new button to the FlipsideController and also hook this hop to the doSomething: action it doesn&#8217;t even call the application&#8217;s sendAction. On a non-storyboard app this would also normally send the action to the closest view controller.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7112&amp;md5=bd7dbe86061f150d16575ed8140d9a88" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/09/radar-first-responder-defunct-when-used-in-storyboard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F09%2Fradar-first-responder-defunct-when-used-in-storyboard%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+First+Responder+defunct+when+used+in+Storyboard&amp;description=Hot+on+the+heels+of+my+research+into+the+responder+chain+comes+this+bug+report.+Nikita+Korchagin+deserves+the+main+credit+for+mentioning+this+first+to+me.+Turns+out+that...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: CGRectMakeWithDictionaryRepresentation</title>
		<link>http://www.cocoanetics.com/2012/09/radar-cgrectmakewithdictionaryrepresentation/</link>
		<comments>http://www.cocoanetics.com/2012/09/radar-cgrectmakewithdictionaryrepresentation/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 13:27:57 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=7064</guid>
		<description><![CDATA[This is one of those rare jewels of a bug that will cost you days to figure out if you encounter it in the context of a large app. It makes you doubt our own sanity until you come to the painful conclusion that the problem indeed resides in Apple&#8217;s code, not yours. In this special case we had a couple of rare circumstances that worked together to form a scenario where CGRectMakeWithDictionaryRepresentation partially fails to reconstitute a CGRect from a dictionary. This function is literally ancient, it exists since iOS 2 and Mac OS 10.5. This makes it even more implausible that nobody has stumbled across this before us. In the project where we first saw the problem these where the steps that led to this bug&#8217;s discovery: Create a CGRect that is not an integer Write a dictionary from iOS simulator which contains a dictionary encoding this CGRect Open this dictionary in Xcode&#8217;s property list editor Upon saving some of the least significant digits change in the &#8220;real&#8221; items This new dictionary can no longer be parsed on iOS What&#8217;s even funnier is that some such modified values can still be read, but then the function fails internally and the remaining values don&#8217;t get parsed, i.e. stay zero. From what I have seen researching this bug looks like certain floating point numbers cannot be represented on iOS. The normal parsing functions are able to round to the closest value that can be represented in 32-bit floats, whereas CGRectMakeWithDictionaryRepresentation fails to do so. The first value that cannot be exactly represented is truncated, all following values turn out to be Zero. This was filed as rdar://12358120 and on OpenRadar. CGRectMakeWithDictionaryRepresentation Summary CGRectMakeWithDictionaryRepresentation on iOS fails to parse certain float values from a plist saved on Mac. This bug is a very rare occurrence because it only appears if you have non-integer values encoded in a property list, modify this on Mac (e.g. Xcode) and then try to parse it again on iOS. Steps to Reproduce on iOS: create a CGRect (123.2112731933594,123.2112731933594,123.2112731933594,123.2112731933594) save it into a file, notice that the value will be 123.21127319335938 instead. open it with Xcode plist editor save it, the values in the file will change to be 123.2112731933594 load the dictionary from disk, try to extract the CGRect by CGRectMakeWithDictionaryRepresentation Expected Results the CGRect values should be 123.21127319335938 or 123.2112731933594 Actual Results only origin gets a truncated value, all other values are zero: {{123.211, 0}, {0, 0}}, return value of the function is FALSE which means an error occurred. Regression n/a Notes A sample project is provided that demonstrates the issue in the form of unit tests: testOriginalPlist parses an iOS generated plist without issue testMofiedPlistByXCode parses a plist modified by Xcode showing the failure testParseRealString shows that the problematic representation works with float/doubleValue testRectMake demonstrate how modifying a fresh encoded number fails if the 5938 (iOS) is changed to 594 (Mac) NSDictionaryCGRectParsing Sample Project]]></description>
				<content:encoded><![CDATA[<p>This is one of those rare jewels of a bug that will cost you days to figure out if you encounter it in the context of a large app. It makes you doubt our own sanity until you come to the painful conclusion that the problem indeed resides in Apple&#8217;s code, not yours.</p>
<p>In this special case we had a couple of rare circumstances that worked together to form a scenario where CGRectMakeWithDictionaryRepresentation partially fails to reconstitute a CGRect from a dictionary. This function is literally ancient, it exists since iOS 2 and Mac OS 10.5. This makes it even more implausible that nobody has stumbled across this before us.</p>
<p>In the project where we first saw the problem these where the steps that led to this bug&#8217;s discovery:</p>
<ol>
<li>Create a CGRect that is not an integer</li>
<li>Write a dictionary from iOS simulator which contains a dictionary encoding this CGRect</li>
<li>Open this dictionary in Xcode&#8217;s property list editor</li>
<li>Upon saving some of the least significant digits change in the &#8220;real&#8221; items</li>
<li>This new dictionary can no longer be parsed on iOS</li>
</ol>
<p>What&#8217;s even funnier is that some such modified values can still be read, but then the function fails internally and the remaining values don&#8217;t get parsed, i.e. stay zero.</p>
<p>From what I have seen researching this bug looks like certain floating point numbers cannot be represented on iOS. The normal parsing functions are able to round to the closest value that can be represented in 32-bit floats, whereas CGRectMakeWithDictionaryRepresentation fails to do so. The first value that cannot be exactly represented is truncated, all following values turn out to be Zero.</p>
<p>This was filed as rdar://12358120 and on <a href="http://www.openradar.me/radar?id=2036401">OpenRadar</a>.</p>
<p><span id="more-7064"></span></p>
<div id="more-7064"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>CGRectMakeWithDictionaryRepresentation</h3>
<h3>Summary</h3>
<p>CGRectMakeWithDictionaryRepresentation on iOS fails to parse certain float values from a plist saved on Mac.</p>
<p>This bug is a very rare occurrence because it only appears if you have non-integer values encoded in a property list, modify this on Mac (e.g. Xcode) and then try to parse it again on iOS.</p>
<h3>Steps to Reproduce</h3>
<ol>
<li>on iOS: create a CGRect (123.2112731933594,123.2112731933594,123.2112731933594,123.2112731933594)</li>
<li>save it into a file, notice that the value will be 123.21127319335938 instead.</li>
<li>open it with Xcode plist editor</li>
<li>save it, the values in the file will change to be 123.2112731933594</li>
<li>load the dictionary from disk, try to extract the CGRect by CGRectMakeWithDictionaryRepresentation</li>
</ol>
<h3>Expected Results</h3>
<p>the CGRect values should be 123.21127319335938 or 123.2112731933594</p>
<h3>Actual Results</h3>
<p>only origin gets a truncated value, all other values are zero: {{123.211, 0}, {0, 0}}, return value of the function is FALSE which means an error occurred.</p>
<h3>Regression</h3>
<p>n/a</p>
<h3>Notes</h3>
<p>A sample project is provided that demonstrates the issue in the form of unit tests:</p>
<ul>
<li><strong>testOriginalPlist</strong> parses an iOS generated plist without issue</li>
<li><strong>testMofiedPlistByXCode</strong> parses a plist modified by Xcode showing the failure</li>
<li><strong>testParseRealString</strong> shows that the problematic representation works with float/doubleValue</li>
<li><strong>testRectMake</strong> demonstrate how modifying a fresh encoded number fails if the 5938 (iOS) is changed to 594 (Mac)</li>
</ul>
<p><a href="http://www.cocoanetics.com/files/NSDictionaryCGRectParsing.zip">NSDictionaryCGRectParsing Sample Project</a></p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=7064&amp;md5=9bf1ba634df299909ea436653befdba8" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/09/radar-cgrectmakewithdictionaryrepresentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F09%2Fradar-cgrectmakewithdictionaryrepresentation%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+CGRectMakeWithDictionaryRepresentation&amp;description=This+is+one+of+those+rare+jewels+of+a+bug+that+will+cost+you+days+to+figure+out+if+you+encounter+it+in+the+context+of+a+large+app.+It...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Scroll Direction setting linked for Mouse and Trackpad</title>
		<link>http://www.cocoanetics.com/2012/09/radar-scroll-direction-setting-linked-for-mouse-and-trackpad/</link>
		<comments>http://www.cocoanetics.com/2012/09/radar-scroll-direction-setting-linked-for-mouse-and-trackpad/#comments</comments>
		<pubDate>Wed, 05 Sep 2012 12:22:09 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6963</guid>
		<description><![CDATA[It is understandable to have this ominous &#8220;Natural Scrolling&#8221; setting for trackpads. And that there is a separate such setting for mice. But I don&#8217;t understand why Apple would like these two settings, because somebody working on a laptop might want to use the normal way to scroll with his mouse&#8217;s scroll while while using the &#8220;natural&#8221; setting for his trackpad. Filed as Radar #12236447 and cross-posted on OpenRadar. Updated March 6th, 2013: &#8220;Works as Intended&#8221; Scroll Direction setting linked for Mouse and Trackpad Summary: When changing the setting to reverse scroll direction for trackpad or mouse the other device&#8217;s setting is affected as well. Steps to Reproduce: check the trackpad scroll direction &#8220;natural&#8221; setting uncheck the mouse scroll direction Expected Results: the mouse setting should be separate from the trackpad setting Actual Results: unchecking the mouse scroll direction checkbox also unchecks the setting for trackpad Regression: n/a Notes: This is a nuisance for people who are switching between a notebook internal trackpad and an external USB mouse with trackwheel.]]></description>
				<content:encoded><![CDATA[<p>It is understandable to have this ominous &#8220;Natural Scrolling&#8221; setting for trackpads. And that there is a separate such setting for mice. But I don&#8217;t understand why Apple would like these two settings, because somebody working on a laptop might want to use the normal way to scroll with his mouse&#8217;s scroll while while using the &#8220;natural&#8221; setting for his trackpad.</p>
<p>Filed as Radar #12236447 and cross-posted on <a href="http://www.openradar.me/12236447">OpenRadar</a>.</p>
<p>Updated March 6th, 2013: &#8220;Works as Intended&#8221;</p>
<p><span id="more-6963"></span></p>
<div id="more-6963"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h2>Scroll Direction setting linked for Mouse and Trackpad</h2>
<h3>Summary:</h3>
<p>When changing the setting to reverse scroll direction for trackpad or mouse the other device&#8217;s setting is affected as well.</p>
<h3>Steps to Reproduce:</h3>
<ul>
<li>check the trackpad scroll direction &#8220;natural&#8221; setting</li>
<li>uncheck the mouse scroll direction</li>
</ul>
<h3>Expected Results:</h3>
<ul>
<li>the mouse setting should be separate from the trackpad setting</li>
</ul>
<h3>Actual Results:</h3>
<ul>
<li>unchecking the mouse scroll direction checkbox also unchecks the setting for trackpad</li>
</ul>
<h3>Regression:</h3>
<p>n/a</p>
<h3>Notes:</h3>
<p>This is a nuisance for people who are switching between a notebook internal trackpad and an external USB mouse with trackwheel.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6963&amp;md5=e3f80493ebedc4695d85a9455cf48f0a" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/09/radar-scroll-direction-setting-linked-for-mouse-and-trackpad/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F09%2Fradar-scroll-direction-setting-linked-for-mouse-and-trackpad%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Scroll+Direction+setting+linked+for+Mouse+and+Trackpad&amp;description=It+is+understandable+to+have+this+ominous+%26%238220%3BNatural+Scrolling%26%238221%3B+setting+for+trackpads.+And+that+there+is+a+separate+such+setting+for+mice.+But+I+don%26%238217%3Bt+understand+why+Apple+would+like...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: AirPlay broken if only connected display is VNC</title>
		<link>http://www.cocoanetics.com/2012/08/radar-airplay-broken-if-only-connected-display-is-vnc/</link>
		<comments>http://www.cocoanetics.com/2012/08/radar-airplay-broken-if-only-connected-display-is-vnc/#comments</comments>
		<pubDate>Fri, 24 Aug 2012 09:49:59 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6927</guid>
		<description><![CDATA[I got an AppleTV for our office and brought over my old Sharp TV which is able to display 720p well enough to be used as a presentation display via AirPlay. When I tried to use AirPlay to display the desktop of a MacMini server I discovered this bug. The workaround at the moment is to use the AirParrot software which has no problems displaying the desktop. I filed it as rdar://12167290  and mirrored it on OpenRadar. Update Nov 7th: Apple closed the bug report as a duplicate of rdar://11782381. AirPlay broken if only connected display is VNC Summary: I have a current model MacMini that was last connected via display port and DIV to an LCD before turning it head less and putting it into my server cabinet. When connecting via VNC to it and activating AirPlay mirroring you only see color blotches and some text fragments on the TV which is being served by a latest generation AppleTV. Steps to Reproduce: disconnect any monitor to MacMini connect to it with VNC enable AirPlay Expected Results: you should see the desktop mirrored via AirPlay Actual Results: you only see color blotches. Regression: n/a Notes: The AppleTV is serving the TV at 720p/60 Hz. The TV is a Sharp Aquos that has a maximum of 1080i.]]></description>
				<content:encoded><![CDATA[<p>I got an AppleTV for our office and brought over my old Sharp TV which is able to display 720p well enough to be used as a presentation display via AirPlay. When I tried to use AirPlay to display the desktop of a MacMini server I discovered this bug.</p>
<p>The workaround at the moment is to use the AirParrot software which has no problems displaying the desktop. I filed it as rdar://12167290  and mirrored it on <a href="http://www.openradar.me/radar?id=1874405">OpenRadar</a>.</p>
<p>Update Nov 7th: Apple closed the bug report as a duplicate of rdar://11782381.</p>
<p><span id="more-6927"></span></p>
<div id="more-6927"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h3>AirPlay broken if only connected display is VNC</h3>
<p>Summary:</p>
<p>I have a current model MacMini that was last connected via display port and DIV to an LCD before turning it head less and putting it into my server cabinet.</p>
<p>When connecting via VNC to it and activating AirPlay mirroring you only see color blotches and some text fragments on the TV which is being served by a latest generation AppleTV.</p>
<p>Steps to Reproduce:</p>
<ul>
<li>disconnect any monitor to MacMini</li>
<li>connect to it with VNC</li>
<li>enable AirPlay</li>
</ul>
<p>Expected Results:</p>
<ul>
<li>you should see the desktop mirrored via AirPlay</li>
</ul>
<p>Actual Results:</p>
<ul>
<li>you only see color blotches.</li>
</ul>
<p>Regression:</p>
<p>n/a</p>
<p>Notes:</p>
<p>The AppleTV is serving the TV at 720p/60 Hz. The TV is a Sharp Aquos that has a maximum of 1080i.</p>
<p><a href="http://i0.wp.com/www.cocoanetics.com/files/IMG_1474.jpg"><img class="alignnone  wp-image-6930" title="Color Blotches via AirPlay" src="http://i0.wp.com/www.cocoanetics.com/files/IMG_1474.jpg?resize=614%2C461" alt="" data-recalc-dims="1" /></a></p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6927&amp;md5=e46a28858a461328ef4ae522e979c819" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/08/radar-airplay-broken-if-only-connected-display-is-vnc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F08%2Fradar-airplay-broken-if-only-connected-display-is-vnc%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+AirPlay+broken+if+only+connected+display+is+VNC&amp;description=I+got+an+AppleTV+for+our+office+and+brought+over+my+old+Sharp+TV+which+is+able+to+display+720p+well+enough+to+be+used+as+a+presentation+display+via...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Allow Overriding of User-Agent on UIWebView</title>
		<link>http://www.cocoanetics.com/2012/06/radar-allow-overriding-of-user-agent-on-uiwebview/</link>
		<comments>http://www.cocoanetics.com/2012/06/radar-allow-overriding-of-user-agent-on-uiwebview/#comments</comments>
		<pubDate>Thu, 28 Jun 2012 09:56:57 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6645</guid>
		<description><![CDATA[Here&#8217;s another thing that I had discussed with an Apple engineer at WWDC. UIWebView at present does let you easily modify the user-agent header field that it sends to the server. We found this functionality sorely lacking when we needed to change the user-agent in iCatalog. There are some scenarios where the server-side browser-detection fails and you want to override the user agent for example with one to pretend the web view is desktop Safari. This feature request was filed as rdar://11767306  and on OpenRadar. There is of course something of a workaround that we found to be working, but it relies on several techniques that might cease to work in a future iOS version. The first step is to modify the user agent on the very first NSURLRequest that you tell the UIWebView to load. NSMutableURLRequest *request = &#91;NSMutableURLRequest requestWithURL:_product.productURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0&#93;; &#160; // override user agent set? if &#40;_userAgent&#41; &#123; &#91;request setValue:_userAgent forHTTPHeaderField:@&#34;User-Agent&#34;&#93;; &#125; &#160; &#91;_webView loadRequest:request&#93;; What would be fine and good but this change only holds until the first redirect or sub-request for an image or other resource. Some (but not all) of the sub-requests the web view&#8217;s delegate is asked whether they should be allowed. I found that if the original NSURLRequest is mutable then the subsequent ones are also mutable and you can imprint the custom agent there as well. - &#40;BOOL&#41;webView:&#40;UIWebView *&#41;webView shouldStartLoadWithRequest:&#40;NSMutableURLRequest *&#41;theRequest navigationType:&#40;UIWebViewNavigationType&#41;navigationType &#123; if &#40;&#91;theRequest isKindOfClass:&#91;NSMutableURLRequest class&#93;&#93;&#41; &#123; // override user agent set? if &#40;_userAgent&#41; &#123; &#91;theRequest setValue:_userAgent forHTTPHeaderField:@&#34;User-Agent&#34;&#93;; &#125; &#125; &#160; return YES; &#125; But this only works for some sub-requests. I found in my testing that many subsequent requests don&#8217;t show here, especially if they are made from JavaScript (i.e. AJAX). That means if you are dealing with a very stubborn web platform that constantly reevaluates your user-agent then you are out of luck faking it there. Part 2 of this workaround only works of course if the request stay mutable. The iOS docs claim that they are immutable and I believe they only become mutable if you send the original request as mutable. So this is using undocumented behavior and as such inherently unreliable. Another &#8211; rather obscure &#8211; workaround has been documented by James Border. You can set a global user default with the &#8220;UserAgent&#8221; key. NSDictionary *dictionary = &#91;&#91;NSDictionary alloc&#93; initWithObjectsAndKeys: @&#34;Your desired user agent&#34;, @&#34;UserAgent&#34;, nil&#93;; &#91;&#91;NSUserDefaults standardUserDefaults&#93; registerDefaults:dictionary&#93;; I was quite astonished when my attention was pointed to this. This is not documented anywhere. So I figured it would make UIWebView much more useful if there was a native method to achieve this. Which brings me to my Radar &#8230; Allow overriding of user-agent on UIWebView Problem For some use cases it is necessary to modify the user agent that UIWebView sends towards the server to get a different version of the content. Such scenarios where we needed that included opening a special version of an online shopping bag or opening the full-version of Facebook instead of the mobile one. Suggested Solution Expose a userAgent property on UIWebView that uses the default user-agent when nil or otherwise sends the set string. The reason why this should be a feature in the SDK is that most of the time when dealing with online hosted platform providers you have next to no chance of getting them to fix some detection mechanism that causes their platform to send the incorrect content. To make it easier for the developer there could be some methods that would give me certain predefined user agents, like Safari for Mac, to be used with the suggested property.]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s another thing that I had discussed with an Apple engineer at WWDC. UIWebView at present does let you easily modify the user-agent header field that it sends to the server. We found this functionality sorely lacking when we needed to change the user-agent in iCatalog. There are some scenarios where the server-side browser-detection fails and you want to override the user agent for example with one to pretend the web view is desktop Safari.</p>
<p>This feature request was filed as rdar://11767306  and on <a href="http://www.openradar.me/radar?id=1792407">OpenRadar</a>.</p>
<p><span id="more-6645"></span></p>
<div id="more-6645"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<p>There is of course something of a workaround that we found to be working, but it relies on several techniques that might cease to work in a future iOS version.</p>
<p>The first step is to modify the user agent on the very first NSURLRequest that you tell the UIWebView to load.</p>

<div class="wp_codebox"><table><tr id="p664510"><td class="code" id="p6645code10"><pre class="objc" style="font-family:monospace;"><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/"><span style="color: #400080;">NSMutableURLRequest</span></a> <span style="color: #002200;">*</span>request <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/"><span style="color: #400080;">NSMutableURLRequest</span></a> requestWithURL<span style="color: #002200;">:</span>_product.productURL
        cachePolicy<span style="color: #002200;">:</span>NSURLRequestUseProtocolCachePolicy
        timeoutInterval<span style="color: #002200;">:</span><span style="color: #2400d9;">60.0</span><span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #11740a; font-style: italic;">// override user agent set?</span>
<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>_userAgent<span style="color: #002200;">&#41;</span>
<span style="color: #002200;">&#123;</span>
        <span style="color: #002200;">&#91;</span>request setValue<span style="color: #002200;">:</span>_userAgent forHTTPHeaderField<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;User-Agent&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">&#91;</span>_webView loadRequest<span style="color: #002200;">:</span>request<span style="color: #002200;">&#93;</span>;</pre></td></tr></table></div>

<p>What would be fine and good but this change only holds until the first redirect or sub-request for an image or other resource. Some (but not all) of the sub-requests the web view&#8217;s delegate is asked whether they should be allowed. I found that if the original NSURLRequest is mutable then the subsequent ones are also mutable and you can imprint the custom agent there as well.</p>

<div class="wp_codebox"><table><tr id="p664511"><td class="code" id="p6645code11"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">BOOL</span><span style="color: #002200;">&#41;</span>webView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIWebView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>webView shouldStartLoadWithRequest<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/"><span style="color: #400080;">NSMutableURLRequest</span></a> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>theRequest 
    navigationType<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIWebViewNavigationType<span style="color: #002200;">&#41;</span>navigationType
<span style="color: #002200;">&#123;</span>
    <span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>theRequest isKindOfClass<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/"><span style="color: #400080;">NSMutableURLRequest</span></a> class<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
    <span style="color: #002200;">&#123;</span>
        <span style="color: #11740a; font-style: italic;">// override user agent set?</span>
        <span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>_userAgent<span style="color: #002200;">&#41;</span>
        <span style="color: #002200;">&#123;</span>
            <span style="color: #002200;">&#91;</span>theRequest setValue<span style="color: #002200;">:</span>_userAgent forHTTPHeaderField<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;User-Agent&quot;</span><span style="color: #002200;">&#93;</span>;
        <span style="color: #002200;">&#125;</span>
    <span style="color: #002200;">&#125;</span>
&nbsp;
    <span style="color: #a61390;">return</span> <span style="color: #a61390;">YES</span>;
<span style="color: #002200;">&#125;</span></pre></td></tr></table></div>

<p>But this only works for some sub-requests. I found in my testing that many subsequent requests don&#8217;t show here, especially if they are made from JavaScript (i.e. AJAX). That means if you are dealing with a very stubborn web platform that constantly reevaluates your user-agent then you are out of luck faking it there.</p>
<p>Part 2 of this workaround only works of course if the request stay mutable. The iOS docs claim that they are immutable and I believe they only become mutable if you send the original request as mutable. So this is using undocumented behavior and as such inherently unreliable.</p>
<p>Another &#8211; rather obscure &#8211; workaround has been <a href="http://jamesborder.com/2011/04/iosobjective-c-set-user-agent-of-uiwebview/">documented by James Border</a>. You can set a global user default with the &#8220;UserAgent&#8221; key.</p>

<div class="wp_codebox"><table><tr id="p664512"><td class="code" id="p6645code12"><pre class="objc" style="font-family:monospace;"><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/"><span style="color: #400080;">NSDictionary</span></a> <span style="color: #002200;">*</span>dictionary <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/"><span style="color: #400080;">NSDictionary</span></a> alloc<span style="color: #002200;">&#93;</span> initWithObjectsAndKeys<span style="color: #002200;">:</span>
   <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Your desired user agent&quot;</span>, <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;UserAgent&quot;</span>, <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/"><span style="color: #400080;">NSUserDefaults</span></a> standardUserDefaults<span style="color: #002200;">&#93;</span> registerDefaults<span style="color: #002200;">:</span>dictionary<span style="color: #002200;">&#93;</span>;</pre></td></tr></table></div>

<p>I was quite astonished when my attention was pointed to this. This is not documented anywhere.</p>
<p>So I figured it would make UIWebView much more useful if there was a native method to achieve this. Which brings me to my Radar &#8230;</p>
<h2>Allow overriding of user-agent on UIWebView</h2>
<h3>Problem</h3>
<p>For some use cases it is necessary to modify the user agent that UIWebView sends towards the server to get a different version of the content. Such scenarios where we needed that included opening a special version of an online shopping bag or opening the full-version of Facebook instead of the mobile one.</p>
<h3>Suggested Solution</h3>
<p>Expose a userAgent property on UIWebView that uses the default user-agent when nil or otherwise sends the set string. The reason why this should be a feature in the SDK is that most of the time when dealing with online hosted platform providers you have next to no chance of getting them to fix some detection mechanism that causes their platform to send the incorrect content.</p>
<p>To make it easier for the developer there could be some methods that would give me certain predefined user agents, like Safari for Mac, to be used with the suggested property.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6645&amp;md5=107e22a623cfe47a85371a1012b8d628" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/06/radar-allow-overriding-of-user-agent-on-uiwebview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F06%2Fradar-allow-overriding-of-user-agent-on-uiwebview%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Allow+Overriding+of+User-Agent+on+UIWebView&amp;description=Here%26%238217%3Bs+another+thing+that+I+had+discussed+with+an+Apple+engineer+at+WWDC.+UIWebView+at+present+does+let+you+easily+modify+the+user-agent+header+field+that+it+sends+to+the...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Radar: Filevault2 uses incorrect keyboard layout for initial unlock</title>
		<link>http://www.cocoanetics.com/2012/06/radar-filevault2-uses-incorrect-keyboard-layout-for-initial-unlock/</link>
		<comments>http://www.cocoanetics.com/2012/06/radar-filevault2-uses-incorrect-keyboard-layout-for-initial-unlock/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 14:51:06 +0000</pubDate>
		<dc:creator>Drops</dc:creator>
				<category><![CDATA[Bug Reports]]></category>

		<guid isPermaLink="false">http://www.cocoanetics.com/?p=6638</guid>
		<description><![CDATA[Fresh from our series &#8220;Another Day Another Radar&#8221; here&#8217;s one that stumped my associate Rene. Since I&#8217;m getting a knack in filing these I did the &#8220;quick file&#8221; for him, as rdar://11738458 and on OpenRadar. As always I am doing this publicly because other people out there might have experienced the same issue which can be quite nerve-wrecking. Also this problem was observed on an OS X version that is public and widely used. Filevault2 uses incorrect keyboard layout for initial unlock Summary: When starting a 15&#8243; MacBook Pro (Mid 2009) that is using Filevault2 full disk encryption the wrong keyboard layout is active for entering the initial boot password when starting the system. Steps to Reproduce: on a Mac with German keyboard set system language to English, keyboard layout to German (matching the HW keyboard) enable Filevault2, choose a password that uses keys that are differently positioned on German and English layout. (e.g. Z and Y) turn off Mac when promoted for the hard disk password try to enter the password as it was entered with OS X running Expected Results: Password should be accepted in the keyboard layout used when setting it. Actual Results: Password is only accepted when entered with English keyboard layout. Regression: With Filevault 1 the password was queried later when the German layout was already active. Notes: This might lead to customer confusion because it misleads them to thinking that they have set their password incorrectly. Add to this the extremely stressful situation of thinking that you have lost access to all your data. Most people would not recognize this problem because typically people would have the system language and keyboard layout be the same. But some users (especially developers and in IT) prefer to have their system in English even with a German keyboard. This also means that they will have to know where this certain characters can be found on an English keyboard to be able to successfully authenticate. Filefault 2 apparently is using the system language layout instead of the actual HW layout or the one that is configured while running OS X.]]></description>
				<content:encoded><![CDATA[<p>Fresh from our series &#8220;Another Day Another Radar&#8221; here&#8217;s one that stumped my associate Rene.</p>
<p>Since I&#8217;m getting a knack in filing these I did the &#8220;quick file&#8221; for him, as rdar://11738458 and on <a href="http://www.openradar.me/radar?id=1792402">OpenRadar</a>. As always I am doing this publicly because other people out there might have experienced the same issue which can be quite nerve-wrecking. Also this problem was observed on an OS X version that is public and widely used.</p>
<p><span id="more-6638"></span></p>
<div id="more-6638"></div>
<div class="inner_ad_block">
<div id="advman-7" class="widget Advman_Widget">
<h3 class="widgettitle"></h3>
<p><!-- BuySellAds.com Zone Code --></p>
<div id="bsap_1260346" class="bsarocks bsap_fc3166ea4a479e0fdb4251fbe92a1219"></div>
<p><!-- End BuySellAds.com Zone Code --></div>
</div>
<h2>Filevault2 uses incorrect keyboard layout for initial unlock</h2>
<h3>Summary:</h3>
<p>When starting a 15&#8243; MacBook Pro (Mid 2009) that is using Filevault2 full disk encryption the wrong keyboard layout is active for entering the initial boot password when starting the system.</p>
<h3>Steps to Reproduce:</h3>
<ul>
<li>on a Mac with German keyboard set system language to English, keyboard layout to German (matching the HW keyboard)</li>
<li>enable Filevault2, choose a password that uses keys that are differently positioned on German and English layout. (e.g. Z and Y)</li>
<li>turn off Mac</li>
<li>when promoted for the hard disk password try to enter the password as it was entered with OS X running</li>
</ul>
<h3>Expected Results:</h3>
<p>Password should be accepted in the keyboard layout used when setting it.</p>
<h3>Actual Results:</h3>
<p>Password is only accepted when entered with English keyboard layout.</p>
<h3>Regression:</h3>
<p>With Filevault 1 the password was queried later when the German layout was already active.</p>
<h3>Notes:</h3>
<p>This might lead to customer confusion because it misleads them to thinking that they have set their password incorrectly. Add to this the extremely stressful situation of thinking that you have lost access to all your data.</p>
<p>Most people would not recognize this problem because typically people would have the system language and keyboard layout be the same. But some users (especially developers and in IT) prefer to have their system in English even with a German keyboard. This also means that they will have to know where this certain characters can be found on an English keyboard to be able to successfully authenticate.</p>
<p>Filefault 2 apparently is using the system language layout instead of the actual HW layout or the one that is configured while running OS X.</p>
 <p><a href="http://www.cocoanetics.com/?flattrss_redirect&amp;id=6638&amp;md5=c8d09116bd81ee9809a72cea1d004821" title="Flattr" target="_blank"><img src="http://www.cocoanetics.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cocoanetics.com/2012/06/radar-filevault2-uses-incorrect-keyboard-layout-for-initial-unlock/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=dr_touch&amp;url=http%3A%2F%2Fwww.cocoanetics.com%2F2012%2F06%2Fradar-filevault2-uses-incorrect-keyboard-layout-for-initial-unlock%2F&amp;language=en_GB&amp;category=text&amp;title=Radar%3A+Filevault2+uses+incorrect+keyboard+layout+for+initial+unlock&amp;description=Fresh+from+our+series+%26%238220%3BAnother+Day+Another+Radar%26%238221%3B+here%26%238217%3Bs+one+that+stumped+my+associate+Rene.+Since+I%26%238217%3Bm+getting+a+knack+in+filing+these+I+did+the+%26%238220%3Bquick+file%26%238221%3B+for+him%2C...&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>
