<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Warning : Love hurts&#8230;</title>
	<atom:link href="http://blog.roguesheep.com/2009/11/19/warning-love-hurts/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/</link>
	<description>Behind the scenes with the sheep</description>
	<lastBuildDate>Sat, 30 Jan 2010 01:15:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chris</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-14025</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Sat, 12 Dec 2009 01:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-14025</guid>
		<description>&lt;p&gt;Oskar : &lt;/p&gt;

&lt;p&gt;I think while probably fair intentioned, the tool that is in use right now must not account for a variety of situations that are perfectly legitimate like yours. It seems like the tool is really just doing a very simple check of the binary for strings that are flagged as private. Perhaps its even as simple as running &lt;code&gt;strings&lt;/code&gt; on the binary or something similar. Seems like it needs to be made smarter to be effective and fair.&lt;/p&gt;

&lt;p&gt;Perhaps a better approach would be a special build of the OS that is used in the review process. In this special OS build private methods could log when they are called directly from client code. I haven&#039;t really thought about the runtime and if that is really possible or not.&lt;/p&gt;

&lt;p&gt;There is a bit of good news though. It seems that the policy has changed so that its not an immediate rejection, at least in some cases to be a warning to change by your next release. &lt;/p&gt;

&lt;p&gt;See this article : http://www.macworld.com/article/145044/2009/12/private_apis.html&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Oskar : </p>

<p>I think while probably fair intentioned, the tool that is in use right now must not account for a variety of situations that are perfectly legitimate like yours. It seems like the tool is really just doing a very simple check of the binary for strings that are flagged as private. Perhaps its even as simple as running <code>strings</code> on the binary or something similar. Seems like it needs to be made smarter to be effective and fair.</p>

<p>Perhaps a better approach would be a special build of the OS that is used in the review process. In this special OS build private methods could log when they are called directly from client code. I haven&#8217;t really thought about the runtime and if that is really possible or not.</p>

<p>There is a bit of good news though. It seems that the policy has changed so that its not an immediate rejection, at least in some cases to be a warning to change by your next release. </p>

<p>See this article : <a href="http://www.macworld.com/article/145044/2009/12/private_apis.html" rel="nofollow">http://www.macworld.com/article/145044/2009/12/private_apis.html</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Oskar</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-14021</link>
		<dc:creator>Oskar</dc:creator>
		<pubDate>Fri, 11 Dec 2009 03:40:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-14021</guid>
		<description>&lt;p&gt;We just got rejected for use of private API &quot;setThoroughfare:&quot;
This is indeed a private API in MKPlaceMark in the MapKit. The thing is that we never call this in our code.&lt;/p&gt;

&lt;p&gt;What we do have is an attribute named &quot;thoroughfare&quot; in a Core Data class. setThoroughfare is generated from @dynamic.&lt;/p&gt;

&lt;p&gt;Does this imply that all attributes in all core data classes must have names that in no shape or form resembles an attribute found in any of the private API&#039;s?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>We just got rejected for use of private API &#8220;setThoroughfare:&#8221;
This is indeed a private API in MKPlaceMark in the MapKit. The thing is that we never call this in our code.</p>

<p>What we do have is an attribute named &#8220;thoroughfare&#8221; in a Core Data class. setThoroughfare is generated from @dynamic.</p>

<p>Does this imply that all attributes in all core data classes must have names that in no shape or form resembles an attribute found in any of the private API&#8217;s?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-14011</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 07 Dec 2009 18:25:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-14011</guid>
		<description>&lt;p&gt;leeg : &lt;/p&gt;

&lt;p&gt;I think they normally would if it was really a private method. It turns out though, previousViewController is not actually a private method. The error here seems to be in the analysis of the binary incorrectly flagging that as a private.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>leeg : </p>

<p>I think they normally would if it was really a private method. It turns out though, previousViewController is not actually a private method. The error here seems to be in the analysis of the binary incorrectly flagging that as a private.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: leeg</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-14003</link>
		<dc:creator>leeg</dc:creator>
		<pubDate>Fri, 04 Dec 2009 13:44:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-14003</guid>
		<description>&lt;p&gt;So why don&#039;t Apple call their method _previousViewController?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>So why don&#8217;t Apple call their method _previousViewController?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: news 7xvht &#171; dominiquelaville</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-13997</link>
		<dc:creator>news 7xvht &#171; dominiquelaville</dc:creator>
		<pubDate>Thu, 03 Dec 2009 07:04:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-13997</guid>
		<description>&lt;p&gt;[...] Warning: Love hurts&#8230; [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Warning: Love hurts&#8230; [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Www.flyjinx.com Blogs &#8212; Blog &#8212; news 7xvht</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-13996</link>
		<dc:creator>Www.flyjinx.com Blogs &#8212; Blog &#8212; news 7xvht</dc:creator>
		<pubDate>Thu, 03 Dec 2009 06:54:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-13996</guid>
		<description>&lt;p&gt;[...] Warning: Love hurts&#8230; [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Warning: Love hurts&#8230; [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Apple is Rejecting Its Own Advice&#160;&#124;&#160;Juicy Bits</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-13988</link>
		<dc:creator>Apple is Rejecting Its Own Advice&#160;&#124;&#160;Juicy Bits</dc:creator>
		<pubDate>Tue, 01 Dec 2009 04:42:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-13988</guid>
		<description>&lt;p&gt;[...] That post has been referenced in a number of other articles about App Store rejections by RogueSheep, Daring Fireball, and App Rejections, just to name a few. We&#8217;ve had many e-mail conversations [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] That post has been referenced in a number of other articles about App Store rejections by RogueSheep, Daring Fireball, and App Rejections, just to name a few. We&#8217;ve had many e-mail conversations [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: App Rejections &#187; Blog Archive &#187; REJECTED: Postage (but Apple&#8217;s claims are &#8220;impossible&#8221;)</title>
		<link>http://blog.roguesheep.com/2009/11/19/warning-love-hurts/comment-page-1/#comment-13976</link>
		<dc:creator>App Rejections &#187; Blog Archive &#187; REJECTED: Postage (but Apple&#8217;s claims are &#8220;impossible&#8221;)</dc:creator>
		<pubDate>Tue, 24 Nov 2009 16:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.roguesheep.com/?p=139#comment-13976</guid>
		<description>&lt;p&gt;[...] tool (the secret static-analyer) which they don&#8217;t understand &#8211; but trust 100%: Reject apps that haven&#8217;t done anything wrong, but which the tool (incorrectly) flags:  The notice from Apple indicated that we had used a private method of UIViewController called [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] tool (the secret static-analyer) which they don&#8217;t understand &#8211; but trust 100%: Reject apps that haven&#8217;t done anything wrong, but which the tool (incorrectly) flags:  The notice from Apple indicated that we had used a private method of UIViewController called [...]</p>]]></content:encoded>
	</item>
</channel>
</rss>
