{"id":510,"date":"2015-02-28T03:46:12","date_gmt":"2015-02-28T11:46:12","guid":{"rendered":"http:\/\/porkrind.org\/missives\/?p=510"},"modified":"2015-02-28T03:53:29","modified_gmt":"2015-02-28T11:53:29","slug":"32-bit-clang-deficiencies-on-mac-os-x","status":"publish","type":"post","link":"https:\/\/porkrind.org\/missives\/32-bit-clang-deficiencies-on-mac-os-x\/","title":{"rendered":"32-bit clang deficiencies on Mac OS X"},"content":{"rendered":"<p>I was pulling my hair out getting this compiler message tonight:<\/p>\n<pre><code>warning: property 'x' requires method 'x' to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation [-Wobjc-property-implementation]\n<\/code><\/pre>\n<p>According to <a href=\"https:\/\/developer.apple.com\/library\/mac\/documentation\/Cocoa\/Conceptual\/ProgrammingWithObjectiveC\/EncapsulatingData\/EncapsulatingData.html#\/\/apple_ref\/doc\/uid\/TP40011210-CH5-SW5\">Apple&#8217;s Objective C documentation<\/a>:<\/p>\n<blockquote><p>\n  By default, these accessor methods are synthesized automatically for you by the compiler, so you don\u2019t need to do anything other than declare the property using @property in the class interface.\n<\/p><\/blockquote>\n<p>And yet, there was the compiler telling me otherwise! It turns out there&#8217;s a huge caveat that I don&#8217;t see mentioned in the docs anywhere: auto-synthesis of properties only works in 64 bit targets. If you are also including 32 bit targets in your build (as I was) then you have to do the whole manual synthesis thing. Yuck.<\/p>\n<p>Thanks, <a href=\"https:\/\/stackoverflow.com\/questions\/13413089\/in-xcode-4-5-2-theres-no-auto-synthesize-ing-properties-defined-in-the-interfa?rq=1#comment18327821_13413134\">random Stack Overflow commenter<\/a>, for pointing this out!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was pulling my hair out getting this compiler message tonight: warning: property &#8216;x&#8217; requires method &#8216;x&#8217; to be defined &#8211; use @synthesize, @dynamic or provide a method implementation in this class implementation [-Wobjc-property-implementation] According to Apple&#8217;s Objective C documentation: By default, these accessor methods are synthesized automatically for you by the compiler, so you &hellip; <a href=\"https:\/\/porkrind.org\/missives\/32-bit-clang-deficiencies-on-mac-os-x\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">32-bit clang deficiencies on Mac OS X<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-510","post","type-post","status-publish","format-standard","hentry","category-software"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts\/510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/comments?post=510"}],"version-history":[{"count":2,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts\/510\/revisions"}],"predecessor-version":[{"id":512,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/posts\/510\/revisions\/512"}],"wp:attachment":[{"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/media?parent=510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/categories?post=510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/porkrind.org\/missives\/wp-json\/wp\/v2\/tags?post=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}