{"id":14080,"date":"2016-04-06T15:52:10","date_gmt":"2016-04-06T19:52:10","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=14080"},"modified":"2016-04-06T15:52:10","modified_gmt":"2016-04-06T19:52:10","slug":"swift-libraries-and-designated-requirements","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2016\/04\/06\/swift-libraries-and-designated-requirements\/","title":{"rendered":"Swift Libraries and Designated Requirements"},"content":{"rendered":"<p><a href=\"http:\/\/indiestack.com\/2016\/04\/careful-what-you-wish-for\/\">Daniel Jalkut<\/a>:<\/p>\n<blockquote cite=\"http:\/\/indiestack.com\/2016\/04\/careful-what-you-wish-for\/\">\n<p>The problem I&rsquo;m running into now, as I dabble with adding Swift-based code to MarsEdit, is the bundled Swift libraries are being signed <em>with my app&rsquo;s custom designated requirement<\/em>.<\/p>\n<p>[&#8230;]<\/p>\n<p>The copying of Swift libraries and their subsequent signing is not only opaque to developers, but it happens <em>after<\/em> the entire user-configurable build process is done.<\/p>\n<\/blockquote>\n<p>The custom designated requirement <a href=\"https:\/\/twitter.com\/danielpunkass\/status\/717801102650040320\">causes<\/a> the libraries to be reported as &ldquo;modified or invalid.&rdquo; The workaround is to re-sign your app from a shell script, after Xcode has finished building it. I have been doing this for a long time, for other reasons, and recommend it.<\/p>","protected":false},"excerpt":{"rendered":"<p>Daniel Jalkut: The problem I&rsquo;m running into now, as I dabble with adding Swift-based code to MarsEdit, is the bundled Swift libraries are being signed with my app&rsquo;s custom designated requirement. [&#8230;] The copying of Swift libraries and their subsequent signing is not only opaque to developers, but it happens after the entire user-configurable build [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[466,30,71,901,226],"class_list":["post-14080","post","type-post","status-publish","format-standard","hentry","category-technology","tag-codesigning","tag-mac","tag-programming","tag-swift-programming-language","tag-xcode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/14080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=14080"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/14080\/revisions"}],"predecessor-version":[{"id":14081,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/14080\/revisions\/14081"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=14080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=14080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=14080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}