首先須要申請蘋果開發者帳號才能在APP Store裏發佈應用。ios
給蘋果公司發個郵件(或則直接撥打蘋果開發者服務熱線:4006 701 855 2)。他會給你提供免費註冊鄧白氏碼的網址。直接註冊就好.數據庫
https://developer.apple.com/ios/enroll/dunsLookupForm.action網絡
證實你公司英文名的信件(這個其實只要一句話說一下就行了,好比你就寫此信標明咱們公司的英文名是 XXXX就ok了),公司蓋章。app
不少國內公司都沒法傳真到國外,這個時候你可使用網絡傳真,推薦用 http://faxzero.com/ ssh
能夠是我的的,提交賬號給Apple代扣款($99美金)測試
首先要申請鄧白氏碼,在申請的次日你就會接到電話,跟郵件。那個郵件不是鄧白氏碼。而是你的申請碼。最好是留着吧。是個十位碼, 大約中午的時間你會接到華夏鄧白氏的電話。就是跟你覈對一下資料。大約晚上的時候,你就會接受到新的郵件。那個纔是鄧白氏碼。這個鄧白氏碼是無效的,須要等至少14天后纔可使用.網站
等14天后,去ios develop網站申請公司開發者帳號,若是提示鄧白氏碼無效,則給蘋果開發者中心打電話,告訴他鄧白氏無效,她會處理(多是和鄧白氏聯繫)過幾天(具體幾天客服會告訴你)鄧白氏碼就可用了。編碼
而後你會填公司信息的時候可能會遇到提示說公司信息和蘋果數據庫中的信息不符(實際上是鄧白氏的數據庫與蘋果的數據庫未同步),不要着急,接着打電話,她會告訴你在蘋果數據庫中的公司信息。而後告訴你一個鄧白氏的聯繫郵箱(這個郵箱是鄧白氏專爲申請蘋果公司開發者帳號使用的)你把蘋果數據庫中的公司信息發給鄧白氏讓它更改。再等14天,再去申請,一切就ok了.這種狀況不是每一個人都會遇到。若是信息相符,那是最好的了。不用再等14天了。加密
PS:耐心等待14天后再註冊,鄧白氏碼有嘗試次數限制。url
申請完鄧白氏碼後,就是去註冊iOS公司開發者帳號了, 到 http://developer.apple.com/programs/ios/ 這個開發者帳號註冊入口,開始enroll(註冊)。若是你已經有apple的我的帳號了,那你能夠將你的我的帳號做爲開發者帳號,否則你就新申請一個帳號。
當讓你選擇你是註冊成爲我的或者公司時,請選擇公司。註冊是填信息必定要注意,不要亂填,要真是填寫,否則後面驗證時你就麻煩了。當問你你要選擇那個開發平臺時,你要選擇ios.
當你註冊完我的apple帳號,就會轉入公司信息填寫。公司信息填寫也要真實填寫,這個是會和你的公司營業執照掛鉤的,後面審覈會用到。註冊信息只能是用英文的,因此對於沒有英文名的公司和地址,都要先去處理這些東西了。填寫完公司信息,下一步就是填寫郵件(這個後期會用來跟apple開發者中心聯繫)和表明人(你能夠選擇你本身或者你老闆的名稱,均可以)。接下來就是等待對方審覈了,這通常會等待1-2天,若是審覈過了,對方會給你發郵件。
PS:表明人,及legal entity字段,必須與申請鄧白氏碼時填寫的一致,不然沒法經過,這個便是上面說的數據庫信息不符的字段。
apple那邊若是經過了你的公司信息,就會發郵件要你傳送資料過去(對方會用 devenroll@apple.com這個郵件)。你須要傳送你的公司營業執照,一封證實你公司英文名的信件(這個其實只要一句話說一下就行了,好比你就寫此信標明咱們公司的英文名是 XXXX就ok了),公司蓋章。而後傳真過去。不少國內公司都沒法傳真到國外,這個時候你可使用網絡傳真(我就是這麼作的),推薦用 http://faxzero.com/
這一步是最麻煩的,要等3-4天的審覈期
PS:實在不行能夠傳真到亞洲蘋果並請他們轉交蘋果開發者團隊。 不過蘋果不推薦這麼作。
若是你的傳真對方經過了,對方會發郵件給你,讓你打電話進行驗證。裏面有個中文區電話,你能夠選擇打這個電話。
電話驗證完,通常幾分鐘你就會收到郵件讓你付款。apple是不開通國內在線付款的,因此,你得填一張purchaseform。你要準備一張跨國的信用卡(好比visa,或者mastercard等),把你的信用卡信息填進去,而後吧purchase form再次傳真過去。基本上等2天后,若是對方經過你的付款,你就正式開通啦。
付完款後,帳號基本就開通了,而後蘋果會發一個激活帳號的郵件,郵件中有激活碼,直接點激活碼去激活。
到這裏開發者帳號申請結束。
最後確認提交就行了。
剛激活的帳號暫時沒法登陸iTunesConnect,須要等蘋果給你發一封關於能夠登陸的郵件後才能登陸,不然會說你無權限。
3.1 登陸iTunes Connect後,點擊「管理你的應用」 進入管理頁。
3.2 點擊「添加新的應用」按鈕
前兩個就不說了,第三個SKUNumber什麼意思我也不知道,爲了保持惟一,並好記,就和BundleID同樣。第四個BundleID一經選擇,就不能更改,因此要謹慎選擇。
3.3 設置生效時間和價格
這裏的價格是按層級來的,並非具體的多少錢,Tier 1爲1美圓,在中國商店就至關於6元人民幣。
注意下面還有一個你的APP發佈的商店,默認是全部商店都發布。
3.4 設置APP信息
包括版本號,全部權
還有APP的內容描述,默認都選擇None,根據本身的APP實際狀況
而後是一些元數據,關於APP的描述,用於顯示在APPStore中。關鍵字用於用戶能夠利用這些關鍵字搜索到你的APP。SupportURL是當你的APP出現問題時,用戶能夠聯繫的地址。
接着是APPStore審覈的反饋信息,包括聯繫人信息,以及提供APP的測試帳號。
最後是上傳Icon、屏幕截圖,屏幕截圖不超過5張。
提交,就有APP ID了。
注意如今的狀態爲Preparefor Upload,點擊ViewDetails, 進入後點擊「Readyto Upload Binary」
接着會詢問你是否使用加密功能,選擇後保存。
如今的狀態爲「WaitingFor Upload」了。
1.1 打開電腦中的鑰匙串
1.2 選擇導航欄中下面的選項
1.3 而後輸入用戶郵箱,名字,選擇保存到硬盤。
2.1 選擇App Store
2.2 上傳剛剛建立的CSR文件
2.3 上傳後證書建立成功,下載到本地。
2.4 雙擊該文件,加入到鑰匙串中。
3.1 選擇APP Store
3.2 選擇App ID
3.3 選擇證書
3.4 命名
3.5 最後提交後下載ProvisioningProfiles文件到本地,雙擊打開添加到Xcode中。
4.1 設置target
這裏的BundleIdentifier必須和前面申請的BundleID一致;版本號也必須和前面申請AppID時的版本號一致。
4.2 修改簽名文件,必須選擇前面建立的ProvisioningProfiles文件
4.3 添加發布配置
若是沒有添加一個
4.4 編輯Scheme
選擇Distribution
4.5 clean一下工程
4.6 Archive
會跳入到Archives界面
選擇下面你要發佈的程序,點發布就好了。中間會須要一段時間上傳應用,以及檢測你的應用是否違反蘋果的一些規則。沒有問題的話就會提交成功。
這個是由於我使用的百度地圖的SDK,比較老,出現的問題。緣由是如今獲取設備的UDID已是私有方法了。
-(void)getUpdate
{
NSDictionary *infoDict = [[NSBundlemainBundle] infoDictionary];
NSString *nowVersion = [infoDictobjectForKey:@"CFBundleVersion"];
NSURL url = [NSURLURLWithString:@"http://itunes.apple.com/lookup?id=*******"];
NSString * file = [NSStringstringWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:nil];
//"version":"1.0"
NSRange substr = [file rangeOfString:@"\"version\":\""];
NSRange range1 = NSMakeRange(substr.location+substr.length,10);
NSRange substr2 =[file rangeOfString:@"\"" options:NULL range:range1];
NSRange range2 = NSMakeRange(substr.location+substr.length, substr2.location-substr.location-substr.length);
NSString *newVersion =[filesubstringWithRange:range2];
if([nowVersion isEqualToString:newVersion]==NO)
{
UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:nilmessage:@"版本有更新"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"更新",nil];
[alert show];
[alert release];
} else {
UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:nilmessage:@"已經是最新版本"delegate:selfcancelButtonTitle:@"肯定"otherButtonTitles:nil];
[alert show];
[alert release];
}
}
- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex==1)
{
//link地址,下載地址
NSURL url = [NSURLURLWithString:@"https://itunes.apple.com/us/app/***-***-***/id*******?ls=1&mt=8"];
[[UIApplication sharedApplication]openURL:url];
}
}