{"action":"created","comment":{"url":"https://api.github.com/repos/leancloud/docs/pulls/comments/48593020","id":48593020,"diff_hunk":"@@ -68,3 +68,28 @@ pod 'AVOSCloudSNS'\n 5. 执行 `pod install` 命令，安装新的动态库。\n \n 完成以上几个步骤后，就能在真机上调试应用了。\n+\n+## 为什么无法上传推送证书\n+\n+如果无法上传推送证书，通常是因为证书有问题。一般是由下列原因导致的：\n+\n+1. 证书不是推送证书；\n+2. 证书导出格式有误。\n+\n+有两个办法来验证导出的证书是不是推送证书：\n+\n+1. 通过证书的名字来判断，推送证书的名字中会包含「Push Service」或者「Pass Type ID」；\n+2. 配合真实设备来测试导出的证书是否有效。可以利用第三方工具，例如 [NWPusher](https://github.com/noodlewerk/NWPusher) 快速测试。\n+\n+目前 LeanCloud 只接受 p12 格式的证书。因此，在导出证书时，必须选择 p12 作为导出格式。\n+\n+上传证书时，LeanCloud 会进一步校验证书，帮助开发者发现错误。上传程序会检查证书的名字是否包含以下前缀：\n+\n+* \"Apple Push Services\"\n+* \"Apple Development IOS Push Services\"","path":"md/ios_os_x_faq.md","position":22,"original_position":22,"commit_id":"bfc1a7d321c6db6f60a00366d474a61381223e9d","original_commit_id":"bfc1a7d321c6db6f60a00366d474a61381223e9d","user":{"login":"myleslee","id":108758,"avatar_url":"https://avatars.githubusercontent.com/u/108758?v=3","gravatar_id":"","url":"https://api.github.com/users/myleslee","html_url":"https://github.com/myleslee","followers_url":"https://api.github.com/users/myleslee/followers","following_url":"https://api.github.com/users/myleslee/following{/other_user}","gists_url":"https://api.github.com/users/myleslee/gists{/gist_id}","starred_url":"https://api.github.com/users/myleslee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/myleslee/subscriptions","organizations_url":"https://api.github.com/users/myleslee/orgs","repos_url":"https://api.github.com/users/myleslee/repos","events_url":"https://api.github.com/users/myleslee/events{/privacy}","received_events_url":"https://api.github.com/users/myleslee/received_events","type":"User","site_admin":false},"body":"这些前缀都是系统生成，所以 `IOS` 是大写的？","created_at":"2015-12-30T09:04:46Z","updated_at":"2015-12-30T09:04:46Z","html_url":"https://github.com/leancloud/docs/pull/846#discussion_r48593020","pull_request_url":"https://api.github.com/repos/leancloud/docs/pulls/846","_links":{"self":{"href":"https://api.github.com/repos/leancloud/docs/pulls/comments/48593020"},"html":{"href":"https://github.com/leancloud/docs/pull/846#discussion_r48593020"},"pull_request":{"href":"https://api.github.com/repos/leancloud/docs/pulls/846"}}},"pull_request":{"url":"https://api.github.com/repos/leancloud/docs/pulls/846","id":54779839,"html_url":"https://github.com/leancloud/docs/pull/846","diff_url":"https://github.com/leancloud/docs/pull/846.diff","patch_url":"https://github.com/leancloud/docs/pull/846.patch","issue_url":"https://api.github.com/repos/leancloud/docs/issues/846","number":846,"state":"open","locked":false,"title":"Add certification uploading failure FAQ","user":{"login":"tang3w","id":2226563,"avatar_url":"https://avatars.githubusercontent.com/u/2226563?v=3","gravatar_id":"","url":"https://api.github.com/users/tang3w","html_url":"https://github.com/tang3w","followers_url":"https://api.github.com/users/tang3w/followers","following_url":"https://api.github.com/users/tang3w/following{/other_user}","gists_url":"https://api.github.com/users/tang3w/gists{/gist_id}","starred_url":"https://api.github.com/users/tang3w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tang3w/subscriptions","organizations_url":"https://api.github.com/users/tang3w/orgs","repos_url":"https://api.github.com/users/tang3w/repos","events_url":"https://api.github.com/users/tang3w/events{/privacy}","received_events_url":"https://api.github.com/users/tang3w/received_events","type":"User","site_admin":false},"body":"添加证书上传失败的 FAQ。 @leancloud/objective-c @killme2008 ","created_at":"2015-12-30T06:26:01Z","updated_at":"2015-12-30T09:04:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"54ed76b4726c9145f14515c9b5a165e57addc891","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/leancloud/docs/pulls/846/commits","review_comments_url":"https://api.github.com/repos/leancloud/docs/pulls/846/comments","review_comment_url":"https://api.github.com/repos/leancloud/docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/leancloud/docs/issues/846/comments","statuses_url":"https://api.github.com/repos/leancloud/docs/statuses/bfc1a7d321c6db6f60a00366d474a61381223e9d","head":{"label":"tang3w:uploading_failure_faq","ref":"uploading_failure_faq","sha":"bfc1a7d321c6db6f60a00366d474a61381223e9d","user":{"login":"tang3w","id":2226563,"avatar_url":"https://avatars.githubusercontent.com/u/2226563?v=3","gravatar_id":"","url":"https://api.github.com/users/tang3w","html_url":"https://github.com/tang3w","followers_url":"https://api.github.com/users/tang3w/followers","following_url":"https://api.github.com/users/tang3w/following{/other_user}","gists_url":"https://api.github.com/users/tang3w/gists{/gist_id}","starred_url":"https://api.github.com/users/tang3w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tang3w/subscriptions","organizations_url":"https://api.github.com/users/tang3w/orgs","repos_url":"https://api.github.com/users/tang3w/repos","events_url":"https://api.github.com/users/tang3w/events{/privacy}","received_events_url":"https://api.github.com/users/tang3w/received_events","type":"User","site_admin":false},"repo":{"id":33900038,"name":"docs","full_name":"tang3w/docs","owner":{"login":"tang3w","id":2226563,"avatar_url":"https://avatars.githubusercontent.com/u/2226563?v=3","gravatar_id":"","url":"https://api.github.com/users/tang3w","html_url":"https://github.com/tang3w","followers_url":"https://api.github.com/users/tang3w/followers","following_url":"https://api.github.com/users/tang3w/following{/other_user}","gists_url":"https://api.github.com/users/tang3w/gists{/gist_id}","starred_url":"https://api.github.com/users/tang3w/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tang3w/subscriptions","organizations_url":"https://api.github.com/users/tang3w/orgs","repos_url":"https://api.github.com/users/tang3w/repos","events_url":"https://api.github.com/users/tang3w/events{/privacy}","received_events_url":"https://api.github.com/users/tang3w/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tang3w/docs","description":"LeanCloud Documentation","fork":true,"url":"https://api.github.com/repos/tang3w/docs","forks_url":"https://api.github.com/repos/tang3w/docs/forks","keys_url":"https://api.github.com/repos/tang3w/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tang3w/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tang3w/docs/teams","hooks_url":"https://api.github.com/repos/tang3w/docs/hooks","issue_events_url":"https://api.github.com/repos/tang3w/docs/issues/events{/number}","events_url":"https://api.github.com/repos/tang3w/docs/events","assignees_url":"https://api.github.com/repos/tang3w/docs/assignees{/user}","branches_url":"https://api.github.com/repos/tang3w/docs/branches{/branch}","tags_url":"https://api.github.com/repos/tang3w/docs/tags","blobs_url":"https://api.github.com/repos/tang3w/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tang3w/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tang3w/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/tang3w/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tang3w/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/tang3w/docs/languages","stargazers_url":"https://api.github.com/repos/tang3w/docs/stargazers","contributors_url":"https://api.github.com/repos/tang3w/docs/contributors","subscribers_url":"https://api.github.com/repos/tang3w/docs/subscribers","subscription_url":"https://api.github.com/repos/tang3w/docs/subscription","commits_url":"https://api.github.com/repos/tang3w/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/tang3w/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/tang3w/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/tang3w/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/tang3w/docs/contents/{+path}","compare_url":"https://api.github.com/repos/tang3w/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tang3w/docs/merges","archive_url":"https://api.github.com/repos/tang3w/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tang3w/docs/downloads","issues_url":"https://api.github.com/repos/tang3w/docs/issues{/number}","pulls_url":"https://api.github.com/repos/tang3w/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/tang3w/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/tang3w/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tang3w/docs/labels{/name}","releases_url":"https://api.github.com/repos/tang3w/docs/releases{/id}","created_at":"2015-04-13T23:41:37Z","updated_at":"2015-05-05T08:04:46Z","pushed_at":"2015-12-30T06:23:29Z","git_url":"git://github.com/tang3w/docs.git","ssh_url":"git@github.com:tang3w/docs.git","clone_url":"https://github.com/tang3w/docs.git","svn_url":"https://github.com/tang3w/docs","homepage":"http://leancloud.cn/docs/","size":30960,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"leancloud:master","ref":"master","sha":"f884a34d7d1adf40b27dec1b7e74f34b6515dc0e","user":{"login":"leancloud","id":6660518,"avatar_url":"https://avatars.githubusercontent.com/u/6660518?v=3","gravatar_id":"","url":"https://api.github.com/users/leancloud","html_url":"https://github.com/leancloud","followers_url":"https://api.github.com/users/leancloud/followers","following_url":"https://api.github.com/users/leancloud/following{/other_user}","gists_url":"https://api.github.com/users/leancloud/gists{/gist_id}","starred_url":"https://api.github.com/users/leancloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leancloud/subscriptions","organizations_url":"https://api.github.com/users/leancloud/orgs","repos_url":"https://api.github.com/users/leancloud/repos","events_url":"https://api.github.com/users/leancloud/events{/privacy}","received_events_url":"https://api.github.com/users/leancloud/received_events","type":"Organization","site_admin":false},"repo":{"id":25067518,"name":"docs","full_name":"leancloud/docs","owner":{"login":"leancloud","id":6660518,"avatar_url":"https://avatars.githubusercontent.com/u/6660518?v=3","gravatar_id":"","url":"https://api.github.com/users/leancloud","html_url":"https://github.com/leancloud","followers_url":"https://api.github.com/users/leancloud/followers","following_url":"https://api.github.com/users/leancloud/following{/other_user}","gists_url":"https://api.github.com/users/leancloud/gists{/gist_id}","starred_url":"https://api.github.com/users/leancloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leancloud/subscriptions","organizations_url":"https://api.github.com/users/leancloud/orgs","repos_url":"https://api.github.com/users/leancloud/repos","events_url":"https://api.github.com/users/leancloud/events{/privacy}","received_events_url":"https://api.github.com/users/leancloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/leancloud/docs","description":"LeanCloud Documentation","fork":false,"url":"https://api.github.com/repos/leancloud/docs","forks_url":"https://api.github.com/repos/leancloud/docs/forks","keys_url":"https://api.github.com/repos/leancloud/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/leancloud/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/leancloud/docs/teams","hooks_url":"https://api.github.com/repos/leancloud/docs/hooks","issue_events_url":"https://api.github.com/repos/leancloud/docs/issues/events{/number}","events_url":"https://api.github.com/repos/leancloud/docs/events","assignees_url":"https://api.github.com/repos/leancloud/docs/assignees{/user}","branches_url":"https://api.github.com/repos/leancloud/docs/branches{/branch}","tags_url":"https://api.github.com/repos/leancloud/docs/tags","blobs_url":"https://api.github.com/repos/leancloud/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/leancloud/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/leancloud/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/leancloud/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/leancloud/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/leancloud/docs/languages","stargazers_url":"https://api.github.com/repos/leancloud/docs/stargazers","contributors_url":"https://api.github.com/repos/leancloud/docs/contributors","subscribers_url":"https://api.github.com/repos/leancloud/docs/subscribers","subscription_url":"https://api.github.com/repos/leancloud/docs/subscription","commits_url":"https://api.github.com/repos/leancloud/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/leancloud/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/leancloud/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/leancloud/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/leancloud/docs/contents/{+path}","compare_url":"https://api.github.com/repos/leancloud/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/leancloud/docs/merges","archive_url":"https://api.github.com/repos/leancloud/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/leancloud/docs/downloads","issues_url":"https://api.github.com/repos/leancloud/docs/issues{/number}","pulls_url":"https://api.github.com/repos/leancloud/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/leancloud/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/leancloud/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/leancloud/docs/labels{/name}","releases_url":"https://api.github.com/repos/leancloud/docs/releases{/id}","created_at":"2014-10-11T07:14:37Z","updated_at":"2015-12-29T05:51:11Z","pushed_at":"2015-12-30T06:26:02Z","git_url":"git://github.com/leancloud/docs.git","ssh_url":"git@github.com:leancloud/docs.git","clone_url":"https://github.com/leancloud/docs.git","svn_url":"https://github.com/leancloud/docs","homepage":"http://leancloud.cn/docs/","size":31946,"stargazers_count":174,"watchers_count":174,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":127,"mirror_url":null,"open_issues_count":78,"forks":127,"open_issues":78,"watchers":174,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/leancloud/docs/pulls/846"},"html":{"href":"https://github.com/leancloud/docs/pull/846"},"issue":{"href":"https://api.github.com/repos/leancloud/docs/issues/846"},"comments":{"href":"https://api.github.com/repos/leancloud/docs/issues/846/comments"},"review_comments":{"href":"https://api.github.com/repos/leancloud/docs/pulls/846/comments"},"review_comment":{"href":"https://api.github.com/repos/leancloud/docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/leancloud/docs/pulls/846/commits"},"statuses":{"href":"https://api.github.com/repos/leancloud/docs/statuses/bfc1a7d321c6db6f60a00366d474a61381223e9d"}}}}