{"action":"closed","number":2080,"pull_request":{"url":"https://api.github.com/repos/rs/SDWebImage/pulls/2080","id":148953601,"html_url":"https://github.com/rs/SDWebImage/pull/2080","diff_url":"https://github.com/rs/SDWebImage/pull/2080.diff","patch_url":"https://github.com/rs/SDWebImage/pull/2080.patch","issue_url":"https://api.github.com/repos/rs/SDWebImage/issues/2080","number":2080,"state":"closed","locked":false,"title":"Add image format detect of HEIC (One type of HEIF which use HEVC codec). This is supported natively in iOS 11 & macOS 10.13","user":{"login":"dreampiggy","id":6919743,"avatar_url":"https://avatars2.githubusercontent.com/u/6919743?v=4","gravatar_id":"","url":"https://api.github.com/users/dreampiggy","html_url":"https://github.com/dreampiggy","followers_url":"https://api.github.com/users/dreampiggy/followers","following_url":"https://api.github.com/users/dreampiggy/following{/other_user}","gists_url":"https://api.github.com/users/dreampiggy/gists{/gist_id}","starred_url":"https://api.github.com/users/dreampiggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreampiggy/subscriptions","organizations_url":"https://api.github.com/users/dreampiggy/orgs","repos_url":"https://api.github.com/users/dreampiggy/repos","events_url":"https://api.github.com/users/dreampiggy/events{/privacy}","received_events_url":"https://api.github.com/users/dreampiggy/received_events","type":"User","site_admin":false},"body":"### New Pull Request Checklist\r\n\r\n* [x] I have read and understood the [CONTRIBUTING guide](https://github.com/rs/SDWebImage/blob/master/.github/CONTRIBUTING.md)\r\n* [x] I have read the [Documentation](http://cocoadocs.org/docsets/SDWebImage/)\r\n* [x] I have searched for a similar pull request in the [project](https://github.com/rs/SDWebImage/pulls) and found none\r\n\r\n* [x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)\r\n* [x] I have added the required tests to prove the fix/feature I am adding\r\n* [x] I have updated the documentation (if necessary)\r\n* [x] I have run the tests and they pass\r\n* [x] I have run the lint and it passes (`pod lib lint`)\r\n\r\nThis merge request fixes / reffers to the following issues: #1853 #2038 \r\n\r\n### Pull Request Description\r\n\r\nHEIC, Which is a type of [HEIF](https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format) with that HEVC codec. (Like WebP is used VP8 codec). This is a [ISO standard](https://www.iso.org/standard/66067.html). Attension, HEIF is a **Superset** and HEIC is specify the image use HEVC codec. HEIC image format is **Natively** support on iOS 11, tvOS 11 & macOS 10.13. But HEIF with other codec is currently not supported.\r\n\r\nThe `Natively` means all that interface does not need any changes and transparently support this image format. Apple implement this under Image/IO layer(UIKit/CoreImage -> Core Graphics ->Image/IO). So that previous version SDWebImage also be benefited from this support decoding this kind of type to `UIImage`.\r\n\r\nSo I add a extra image format type in our `SDImageFormat` enum. I want to update ImageIOCoder's UTType as well. But from [WWDC's introduction](https://devstreaming-cdn.apple.com/videos/wwdc/2017/511tj33587vdhds/511/511_working_with_heif_and_hevc.pdf), it currently support encoding on all Macs but iPhone 7 and above 😢 . \r\n\r\n~~~So we could not simply add this to our ImageIO recognized format to allow encode. Or we need something like if (@avaliable(iOS 11, macOS 10.13) && [self MacOriPhoneCPUIsA10FusionAbove]) check code. If you need this , consider our your custom coder which is our 4.2 version's big feature. 😄~~~\r\n\r\nI just add this image format enum to our lib. But this decoding need iOS 11 & macOS 10.13 above device but without iPhone simulator (Good Apple :D). You should check your target device system version to allow download this kind of image format.\r\n","created_at":"2017-10-26T14:37:10Z","updated_at":"2017-10-27T06:29:32Z","closed_at":"2017-10-27T06:29:32Z","merged_at":"2017-10-27T06:29:32Z","merge_commit_sha":"62f80e0e3a02459c7ce779abb1edd5e09b5f0229","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":{"url":"https://api.github.com/repos/rs/SDWebImage/milestones/16","html_url":"https://github.com/rs/SDWebImage/milestone/16","labels_url":"https://api.github.com/repos/rs/SDWebImage/milestones/16/labels","id":2801890,"number":16,"title":"4.2.0","description":"","creator":{"login":"dreampiggy","id":6919743,"avatar_url":"https://avatars2.githubusercontent.com/u/6919743?v=4","gravatar_id":"","url":"https://api.github.com/users/dreampiggy","html_url":"https://github.com/dreampiggy","followers_url":"https://api.github.com/users/dreampiggy/followers","following_url":"https://api.github.com/users/dreampiggy/following{/other_user}","gists_url":"https://api.github.com/users/dreampiggy/gists{/gist_id}","starred_url":"https://api.github.com/users/dreampiggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreampiggy/subscriptions","organizations_url":"https://api.github.com/users/dreampiggy/orgs","repos_url":"https://api.github.com/users/dreampiggy/repos","events_url":"https://api.github.com/users/dreampiggy/events{/privacy}","received_events_url":"https://api.github.com/users/dreampiggy/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":24,"state":"open","created_at":"2017-09-29T02:35:44Z","updated_at":"2017-10-27T06:29:32Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/rs/SDWebImage/pulls/2080/commits","review_comments_url":"https://api.github.com/repos/rs/SDWebImage/pulls/2080/comments","review_comment_url":"https://api.github.com/repos/rs/SDWebImage/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rs/SDWebImage/issues/2080/comments","statuses_url":"https://api.github.com/repos/rs/SDWebImage/statuses/decb5dcdebb8c659f08773c7f3c269bf97edda85","head":{"label":"dreampiggy:feature_heif_image_format","ref":"feature_heif_image_format","sha":"decb5dcdebb8c659f08773c7f3c269bf97edda85","user":{"login":"dreampiggy","id":6919743,"avatar_url":"https://avatars2.githubusercontent.com/u/6919743?v=4","gravatar_id":"","url":"https://api.github.com/users/dreampiggy","html_url":"https://github.com/dreampiggy","followers_url":"https://api.github.com/users/dreampiggy/followers","following_url":"https://api.github.com/users/dreampiggy/following{/other_user}","gists_url":"https://api.github.com/users/dreampiggy/gists{/gist_id}","starred_url":"https://api.github.com/users/dreampiggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreampiggy/subscriptions","organizations_url":"https://api.github.com/users/dreampiggy/orgs","repos_url":"https://api.github.com/users/dreampiggy/repos","events_url":"https://api.github.com/users/dreampiggy/events{/privacy}","received_events_url":"https://api.github.com/users/dreampiggy/received_events","type":"User","site_admin":false},"repo":{"id":95782415,"name":"SDWebImage","full_name":"dreampiggy/SDWebImage","owner":{"login":"dreampiggy","id":6919743,"avatar_url":"https://avatars2.githubusercontent.com/u/6919743?v=4","gravatar_id":"","url":"https://api.github.com/users/dreampiggy","html_url":"https://github.com/dreampiggy","followers_url":"https://api.github.com/users/dreampiggy/followers","following_url":"https://api.github.com/users/dreampiggy/following{/other_user}","gists_url":"https://api.github.com/users/dreampiggy/gists{/gist_id}","starred_url":"https://api.github.com/users/dreampiggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreampiggy/subscriptions","organizations_url":"https://api.github.com/users/dreampiggy/orgs","repos_url":"https://api.github.com/users/dreampiggy/repos","events_url":"https://api.github.com/users/dreampiggy/events{/privacy}","received_events_url":"https://api.github.com/users/dreampiggy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dreampiggy/SDWebImage","description":"Asynchronous image downloader with cache support as a UIImageView category","fork":true,"url":"https://api.github.com/repos/dreampiggy/SDWebImage","forks_url":"https://api.github.com/repos/dreampiggy/SDWebImage/forks","keys_url":"https://api.github.com/repos/dreampiggy/SDWebImage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dreampiggy/SDWebImage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dreampiggy/SDWebImage/teams","hooks_url":"https://api.github.com/repos/dreampiggy/SDWebImage/hooks","issue_events_url":"https://api.github.com/repos/dreampiggy/SDWebImage/issues/events{/number}","events_url":"https://api.github.com/repos/dreampiggy/SDWebImage/events","assignees_url":"https://api.github.com/repos/dreampiggy/SDWebImage/assignees{/user}","branches_url":"https://api.github.com/repos/dreampiggy/SDWebImage/branches{/branch}","tags_url":"https://api.github.com/repos/dreampiggy/SDWebImage/tags","blobs_url":"https://api.github.com/repos/dreampiggy/SDWebImage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dreampiggy/SDWebImage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dreampiggy/SDWebImage/git/refs{/sha}","trees_url":"https://api.github.com/repos/dreampiggy/SDWebImage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dreampiggy/SDWebImage/statuses/{sha}","languages_url":"https://api.github.com/repos/dreampiggy/SDWebImage/languages","stargazers_url":"https://api.github.com/repos/dreampiggy/SDWebImage/stargazers","contributors_url":"https://api.github.com/repos/dreampiggy/SDWebImage/contributors","subscribers_url":"https://api.github.com/repos/dreampiggy/SDWebImage/subscribers","subscription_url":"https://api.github.com/repos/dreampiggy/SDWebImage/subscription","commits_url":"https://api.github.com/repos/dreampiggy/SDWebImage/commits{/sha}","git_commits_url":"https://api.github.com/repos/dreampiggy/SDWebImage/git/commits{/sha}","comments_url":"https://api.github.com/repos/dreampiggy/SDWebImage/comments{/number}","issue_comment_url":"https://api.github.com/repos/dreampiggy/SDWebImage/issues/comments{/number}","contents_url":"https://api.github.com/repos/dreampiggy/SDWebImage/contents/{+path}","compare_url":"https://api.github.com/repos/dreampiggy/SDWebImage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dreampiggy/SDWebImage/merges","archive_url":"https://api.github.com/repos/dreampiggy/SDWebImage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dreampiggy/SDWebImage/downloads","issues_url":"https://api.github.com/repos/dreampiggy/SDWebImage/issues{/number}","pulls_url":"https://api.github.com/repos/dreampiggy/SDWebImage/pulls{/number}","milestones_url":"https://api.github.com/repos/dreampiggy/SDWebImage/milestones{/number}","notifications_url":"https://api.github.com/repos/dreampiggy/SDWebImage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dreampiggy/SDWebImage/labels{/name}","releases_url":"https://api.github.com/repos/dreampiggy/SDWebImage/releases{/id}","deployments_url":"https://api.github.com/repos/dreampiggy/SDWebImage/deployments","created_at":"2017-06-29T13:48:41Z","updated_at":"2017-06-29T13:48:44Z","pushed_at":"2017-10-26T16:23:07Z","git_url":"git://github.com/dreampiggy/SDWebImage.git","ssh_url":"git@github.com:dreampiggy/SDWebImage.git","clone_url":"https://github.com/dreampiggy/SDWebImage.git","svn_url":"https://github.com/dreampiggy/SDWebImage","homepage":"http://cocoadocs.org/docsets/SDWebImage","size":6776,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"rs:master","ref":"master","sha":"292078c0be958f3dc488848e190e8da57c1106b0","user":{"login":"rs","id":68232,"avatar_url":"https://avatars2.githubusercontent.com/u/68232?v=4","gravatar_id":"","url":"https://api.github.com/users/rs","html_url":"https://github.com/rs","followers_url":"https://api.github.com/users/rs/followers","following_url":"https://api.github.com/users/rs/following{/other_user}","gists_url":"https://api.github.com/users/rs/gists{/gist_id}","starred_url":"https://api.github.com/users/rs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rs/subscriptions","organizations_url":"https://api.github.com/users/rs/orgs","repos_url":"https://api.github.com/users/rs/repos","events_url":"https://api.github.com/users/rs/events{/privacy}","received_events_url":"https://api.github.com/users/rs/received_events","type":"User","site_admin":false},"repo":{"id":313419,"name":"SDWebImage","full_name":"rs/SDWebImage","owner":{"login":"rs","id":68232,"avatar_url":"https://avatars2.githubusercontent.com/u/68232?v=4","gravatar_id":"","url":"https://api.github.com/users/rs","html_url":"https://github.com/rs","followers_url":"https://api.github.com/users/rs/followers","following_url":"https://api.github.com/users/rs/following{/other_user}","gists_url":"https://api.github.com/users/rs/gists{/gist_id}","starred_url":"https://api.github.com/users/rs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rs/subscriptions","organizations_url":"https://api.github.com/users/rs/orgs","repos_url":"https://api.github.com/users/rs/repos","events_url":"https://api.github.com/users/rs/events{/privacy}","received_events_url":"https://api.github.com/users/rs/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rs/SDWebImage","description":"Asynchronous image downloader with cache support as a UIImageView category","fork":false,"url":"https://api.github.com/repos/rs/SDWebImage","forks_url":"https://api.github.com/repos/rs/SDWebImage/forks","keys_url":"https://api.github.com/repos/rs/SDWebImage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rs/SDWebImage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rs/SDWebImage/teams","hooks_url":"https://api.github.com/repos/rs/SDWebImage/hooks","issue_events_url":"https://api.github.com/repos/rs/SDWebImage/issues/events{/number}","events_url":"https://api.github.com/repos/rs/SDWebImage/events","assignees_url":"https://api.github.com/repos/rs/SDWebImage/assignees{/user}","branches_url":"https://api.github.com/repos/rs/SDWebImage/branches{/branch}","tags_url":"https://api.github.com/repos/rs/SDWebImage/tags","blobs_url":"https://api.github.com/repos/rs/SDWebImage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rs/SDWebImage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rs/SDWebImage/git/refs{/sha}","trees_url":"https://api.github.com/repos/rs/SDWebImage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rs/SDWebImage/statuses/{sha}","languages_url":"https://api.github.com/repos/rs/SDWebImage/languages","stargazers_url":"https://api.github.com/repos/rs/SDWebImage/stargazers","contributors_url":"https://api.github.com/repos/rs/SDWebImage/contributors","subscribers_url":"https://api.github.com/repos/rs/SDWebImage/subscribers","subscription_url":"https://api.github.com/repos/rs/SDWebImage/subscription","commits_url":"https://api.github.com/repos/rs/SDWebImage/commits{/sha}","git_commits_url":"https://api.github.com/repos/rs/SDWebImage/git/commits{/sha}","comments_url":"https://api.github.com/repos/rs/SDWebImage/comments{/number}","issue_comment_url":"https://api.github.com/repos/rs/SDWebImage/issues/comments{/number}","contents_url":"https://api.github.com/repos/rs/SDWebImage/contents/{+path}","compare_url":"https://api.github.com/repos/rs/SDWebImage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rs/SDWebImage/merges","archive_url":"https://api.github.com/repos/rs/SDWebImage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rs/SDWebImage/downloads","issues_url":"https://api.github.com/repos/rs/SDWebImage/issues{/number}","pulls_url":"https://api.github.com/repos/rs/SDWebImage/pulls{/number}","milestones_url":"https://api.github.com/repos/rs/SDWebImage/milestones{/number}","notifications_url":"https://api.github.com/repos/rs/SDWebImage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rs/SDWebImage/labels{/name}","releases_url":"https://api.github.com/repos/rs/SDWebImage/releases{/id}","deployments_url":"https://api.github.com/repos/rs/SDWebImage/deployments","created_at":"2009-09-21T17:39:19Z","updated_at":"2017-10-27T05:34:10Z","pushed_at":"2017-10-27T06:29:32Z","git_url":"git://github.com/rs/SDWebImage.git","ssh_url":"git@github.com:rs/SDWebImage.git","clone_url":"https://github.com/rs/SDWebImage.git","svn_url":"https://github.com/rs/SDWebImage","homepage":"http://cocoadocs.org/docsets/SDWebImage","size":6665,"stargazers_count":18730,"watchers_count":18730,"language":"Objective-C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4974,"mirror_url":null,"archived":false,"open_issues_count":52,"forks":4974,"open_issues":52,"watchers":18730,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rs/SDWebImage/pulls/2080"},"html":{"href":"https://github.com/rs/SDWebImage/pull/2080"},"issue":{"href":"https://api.github.com/repos/rs/SDWebImage/issues/2080"},"comments":{"href":"https://api.github.com/repos/rs/SDWebImage/issues/2080/comments"},"review_comments":{"href":"https://api.github.com/repos/rs/SDWebImage/pulls/2080/comments"},"review_comment":{"href":"https://api.github.com/repos/rs/SDWebImage/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rs/SDWebImage/pulls/2080/commits"},"statuses":{"href":"https://api.github.com/repos/rs/SDWebImage/statuses/decb5dcdebb8c659f08773c7f3c269bf97edda85"}},"author_association":"COLLABORATOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"bpoplauschi","id":154913,"avatar_url":"https://avatars2.githubusercontent.com/u/154913?v=4","gravatar_id":"","url":"https://api.github.com/users/bpoplauschi","html_url":"https://github.com/bpoplauschi","followers_url":"https://api.github.com/users/bpoplauschi/followers","following_url":"https://api.github.com/users/bpoplauschi/following{/other_user}","gists_url":"https://api.github.com/users/bpoplauschi/gists{/gist_id}","starred_url":"https://api.github.com/users/bpoplauschi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bpoplauschi/subscriptions","organizations_url":"https://api.github.com/users/bpoplauschi/orgs","repos_url":"https://api.github.com/users/bpoplauschi/repos","events_url":"https://api.github.com/users/bpoplauschi/events{/privacy}","received_events_url":"https://api.github.com/users/bpoplauschi/received_events","type":"User","site_admin":false},"comments":12,"review_comments":10,"maintainer_can_modify":false,"commits":3,"additions":64,"deletions":12,"changed_files":4}}
{"actor":{"display_login":"bpoplauschi"}}