iOS推送證書配送制作

  • 1、開發(fā)者證書(分為開發(fā)和發(fā)布兩種翼抠,類型為ios Development,ios Distribution)少办,這個是最基礎的,不論是真機調(diào)試蟹演,還是上傳到appstore都是需要的风钻,是一個基證書,用來證明自己開發(fā)者身份的酒请;

  • 2骡技、appID,這是每一個應用的獨立標識,在設置項中可以配置該應用的權(quán)限,比如是否用到了PassBook,GameCenter,以及更常見的push服務布朦,如果選中了push服務囤萤,那么就可以創(chuàng)建生成下面第3條所提到的推送證書,所以是趴,在所有和推送相關(guān)的配置中涛舍,首先要做的就是先開通支持推送服務的appID;

  • 3、推送證書(分為開發(fā)和發(fā)布兩種唆途,類型分別為APNs Development ios,APNs Distribution ios),該證書在appID配置中創(chuàng)建生成做盅,和開發(fā)者證書一樣,安裝到開發(fā)電腦上窘哈;

  • 4吹榴、ProvisioningProfiles,這個東西是很有蘋果特色的一個東西,我一般稱之為PP文件滚婉,該文件將appID,開發(fā)者證書图筹,硬件Device綁定到一塊兒,在開發(fā)者中心配置好后可以添加到Xcode上让腹,也可以直接在Xcode上連接開發(fā)者中心生成远剩,真機調(diào)試時需要在PP文件中添加真機的udid;是真機調(diào)試和必架必備之珍品骇窍;

平常我們的制作流程一般都是按以上序列進行瓜晤,先利用開發(fā)者帳號登陸開發(fā)者中心,創(chuàng)建開發(fā)者證書腹纳,appID,之后在PP文件中綁定所有的證書id,在appID中開通推送服務痢掠,在開通推送服務的選項下面創(chuàng)建推送證書(服務器端的推送證書見下文),添加調(diào)試真機等

  • 5嘲恍、開發(fā) (開發(fā)證書, 配置文件, AppID) / 生產(chǎn)(生產(chǎn)證書, 配置文件)

1.了解:一個已付費的開發(fā)者賬號(賬號類型分為個人(Individual)足画、公司(Company)、企業(yè)(Enterprise)佃牛、高校(University)四種類型淹辞,每年資費分別為$99、$99俘侠、$299象缀、免費。)爷速。

2.注意:
你的Xcode必須是正式版的央星,beta版本的Xcode是不能上傳項目的。
選擇App Store and Ad Hoc: 往AppStore上傳App時使用的證書

3.注意:

一個開發(fā)者賬號只能創(chuàng)建(1-2個開發(fā)(測試)證書遍希,2-3個生產(chǎn)(發(fā)布)證書)等曼,如果你的App Store Ad Hoc 前面的按鈕不能選擇,則代表你的這個賬號無法再創(chuàng)建新的生產(chǎn)證書了。

4.解決方法:

對于證書的問題:從共同使用這個賬號的人電腦上生成.p12文件禁谦,導入自己的電腦胁黑。(盡量不要執(zhí)行下面第2步)
如果你想生成的話,把現(xiàn)有的刪除一個(建議刪除時間比較靠前的)州泊。注意:如果刪除一個證書丧蘸,那么正在使用這個證書的人將不能再使用了,除非重新生成遥皂,然后利用.p12重新導入自己的電腦里力喷!

對于版本低的問題:找到/Users/用戶名/Library/Developer/Xcode/下面的DeviceSupport,或者通過/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport這個路徑找到演训,有的電腦不一樣弟孟,將里邊文件版本提高一下,然后重新啟動xcode就可以了


如果只是可以真機運行:使用的時候使用開發(fā)證書+配置文件

如果想正常真機運行并可以推送样悟,步驟如下:

一拂募、推送需要準備的(已經(jīng)有了):

1、開發(fā)證書( iosDevelopment)
將生產(chǎn)的開發(fā)證書添加在鑰匙串--->登錄---->我的證書里邊, 如果里面有不用的證書,就清空,避免影響混亂

2窟她、推送證書 (APNsDevelopment) & 推送配置文件(profile) & AppID(設置推送服務的)

推送步驟簡單圖.png

點擊"+"創(chuàng)建APPID

第一步.png
1.1.png

然后一直點選register按鈕,直到Done按鈕出現(xiàn),點擊后,就可在Identifiers-->AppIDs里看到自己創(chuàng)建好的ID

第二個環(huán)節(jié):

第二步.png

勾選App Development,同一賬號下可以找到自己配置好的開發(fā)文件.[一個開發(fā)者賬號只能創(chuàng)建(1-2個開發(fā)(測試)證書)]

2.1.png

繼續(xù)下一步

2.2png.png

上面選項里如果多的話,最好選擇時間最新的那個

2.3.png

里面的證書名同樣隨意寫.

2.4.png

全選是為了避免找到自己真機uDID的麻煩

2.5.png

這樣配置文件就將appID和開發(fā)者證書關(guān)聯(lián)了起來.

下載即可,進入第三環(huán)節(jié)

3.1.png

上面的按鈕是為了生成推送授權(quán)

3.2.png

同樣找到自己的APPID

3.3.png

通過鑰匙串訪問生成

3.4.png
3.5.png

將生成的文件添加進入

3.6.png

下載后將證書文件通過鑰匙串導出成p12格式為推送用

4.png

推送環(huán)節(jié)


4.1.png

應用名稱隨意

4.2.png

BundleID與推送的一致

4.3.png

注意:provisioning Profile那塊,我說的是推送證書的配置文件

注意:如果你想刪除證書陈症,執(zhí)行下面步驟,否則略過震糖。

build setting search code signing

bitcode -> NO
4.4.png

通過真機,在推送內(nèi)容框里輸入內(nèi)容,按操作就可推送到真機

二录肯、使用:(先在JPush平臺創(chuàng)建一個應用,然后用自己獲取Appkey替換工程里面的推送注冊的Appkey)

注意1:在JPush平臺創(chuàng)建應用的時候需要上傳“推送證書的p12格式”的證書
注意2:工程中的bundleID 設置為AppID 的bundle ID
注意3:工程中設置證書 CodeSigning Identity 為 開發(fā)證書吊说,Provisioning Profile的位置設置為推送配置文件

工程中參考的代碼(先用cocoapods導入框架)

#import "AppDelegate.h"
#import "MainListViewController.h"
#import <JPUSHService.h>

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    //fd88a1dab1d265a352d25072
    // 注冊APNS類型-----遠程推送
    [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert) categories:nil];
    
    // 初始化d283459f115a0eb09f04f8fb  ccc4667f37cd6b6818a70a54
    [JPUSHService setupWithOption:nil appKey:@"a2afce5e9ac00479ed0f40ee" channel:nil apsForProduction:NO];
    

    
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    MainListViewController *mainListVC = [[MainListViewController alloc] init];
    UINavigationController *mainListNaviVC = [[UINavigationController alloc] initWithRootViewController:mainListVC];
    
    self.window.rootViewController = mainListNaviVC;
    
    return YES;
}


#pragma mark ----處理apns接收消息(JPush SDK required)----

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    
    
    // 向服務器上報Device Token
    [JPUSHService registerDeviceToken:deviceToken];
    
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *) error {
    NSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    
    // 處理收到的APNS消息论咏,向服務器上報收到APNS消息
    [JPUSHService handleRemoteNotification:userInfo];
    NSLog(@"%@", userInfo);
}


對于無效的證書的解決方法:
問題解決

需要更新AppleWWDRCA證書。
1.https://developer.apple.com/certificationauthority/AppleWWDRCA.cer下載最新AppleWWDRCA證書疏叨,雙擊安裝潘靖。
2.打開鑰匙串,選擇登錄蚤蔓,然后選擇下面的證書。
3.選擇桌面左上角的顯示→顯示已過期的證書糊余。
4.這時候你會發(fā)現(xiàn)一個過期的“WWDR Certificate”(Apple Worldwide Developer Relations Certification Authority)秀又,刪除它。
特別注意:有的在系統(tǒng)那一欄也有這個過期的“WWDR Certificate”贬芥,也一并刪除它吐辙,沒有就不作處理。
5.再回頭點擊Develop證書和Distribution證書蘸劈,不出意外他們都變成“此證書有效”了昏苏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贤惯,更是在濱河造成了極大的恐慌洼专,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孵构,死亡現(xiàn)場離奇詭異屁商,居然都是意外死亡,警方通過查閱死者的電腦和手機颈墅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門蜡镶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恤筛,你說我怎么就攤上這事官还。” “怎么了毒坛?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵望伦,是天一觀的道長。 經(jīng)常有香客問我粘驰,道長屡谐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任蝌数,我火速辦了婚禮愕掏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顶伞。我一直安慰自己饵撑,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布唆貌。 她就那樣靜靜地躺著滑潘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锨咙。 梳的紋絲不亂的頭發(fā)上语卤,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音酪刀,去河邊找鬼粹舵。 笑死,一個胖子當著我的面吹牛骂倘,可吹牛的內(nèi)容都是我干的眼滤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼历涝,長吁一口氣:“原來是場噩夢啊……” “哼诅需!你這毒婦竟也來了漾唉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤堰塌,失蹤者是張志新(化名)和其女友劉穎赵刑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔫仙,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡料睛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了摇邦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恤煞。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖施籍,靈堂內(nèi)的尸體忽然破棺而出居扒,到底是詐尸還是另有隱情,我是刑警寧澤丑慎,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布喜喂,位于F島的核電站,受9級特大地震影響竿裂,放射性物質(zhì)發(fā)生泄漏玉吁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一腻异、第九天 我趴在偏房一處隱蔽的房頂上張望进副。 院中可真熱鬧,春花似錦悔常、人聲如沸影斑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽矫户。三九已至,卻和暖如春残邀,著一層夾襖步出監(jiān)牢的瞬間皆辽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工芥挣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留膳汪,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓九秀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粘我。 傳聞我的和親對象是個殘疾皇子鼓蜒,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容