程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> XE7 & IOS開發之開發賬號(3):證書、AppID、設備、授權profile的申請使用,附Debug真機調試、Ad hoc下iPA文件生成演示(XCode5或以上版本推薦,有圖有真相),delphixe7

XE7 & IOS開發之開發賬號(3):證書、AppID、設備、授權profile的申請使用,附Debug真機調試、Ad hoc下iPA文件生成演示(XCode5或以上版本推薦,有圖有真相),delphixe7

編輯:Delphi

XE7 & IOS開發之開發賬號(3):證書、AppID、設備、授權profile的申請使用,附Debug真機調試、Ad hoc下iPA文件生成演示(XCode5或以上版本推薦,有圖有真相),delphixe7


網上能找到的關於Delphi XE系列的移動開發的相關文章甚少,本文盡量以詳細的圖文內容、傻瓜式的表達來告訴你想要的答案。

原創作品,請尊重作者勞動成果,轉載請注明出處!!!

 

注意,以下討論都是以"合法注冊開發者賬號並支付年費"為前提,利用無證書生成iPA的小朋友請無視本文: 

真機調試的開發測試環境:

RAD平台:XE7

MAC平台:OSX10.8.5

Xcode版本:Xcode5.1.1

設備:iPhone 4  ios6.1

特別注意:

    1. 本文圖片較多,請於較好的網絡環境下觀看,以免影響用戶體驗並浪費流量,引起罵爹罵娘的連鎖反應。

    2. 如果你的MAC平台曾作過無證書真機調試,生成過自簽名證書及修改過Xcode的,請刪除相應證書並還原Xcode設置。

    3. 如果你的Xcode版本低於Xcode5或以下(如Xcode4.x),請無視本文,並點擊下面鏈接,參考Xcode通用版本的做法:

    XE7 & IOS開發之開發賬號(1):開發證書、AppID、設備、開發授權profile的申請使用,附Debug真機調試演示(XCode所有版本通用,有圖有真相)

 

 

1.利用Xcode5或以上版本的新特性,一步到位添加設備並自動生成證書、AppID、Profile。 
---------------------------------------------------------------

1.點一下桌面,'Finder'->'前往'->'應用程序'。

 

 

2.找到Xcode,雙擊運行。

 

 

3.Xcode打開後,點左上角菜單'Xcode',點'Preferences'。

 

 

4.在打開的窗口中,點'Accounts',切換到賬號頁,然後點下面的'+'號,在彈出菜單中點擊'Add Apple ID'。

 

 

5.在彈出的對話框中,填入你的蘋果開發者賬號和密碼。填完後,點擊'Add'。

 

 

6.假如賬號密碼正確的話,Xcode會將賬號添加到賬號列表,點擊左側的賬號,可列出該賬號的開發授權,如iOS Agent表示可開發iOS的App。
我們點擊左上角的叉叉,關閉該窗口。

 

 

7.繼續,同樣在Xcode下,點擊'Window'->'Organizer'。

 

 

8.點擊'Devices',切換到設備頁,並將真機設備連接到MAC中。

 

 

9.右鍵點設備,在彈出菜單中選擇'Add Device to Member Center',或者選中該設備後,直接點下面的'+'號也行。

 

 

10.在彈出的對話框中,鉤選一個開發組,點擊'Choose'。

 

 

11.完成後,我們繼續左上角的菜單點擊'Xcode',點擊'Preferences'。

 

 

12.點一下'Accounts'切換到賬號頁,點一下左側的賬號,點一下右側列出的開發組,並點擊'View Details'(需要選中一個開發組)。

 

 

13.在彈出的窗口中,我們點擊左上角的刷新按鈕,讓Xcode自動給我們下載Profile。

 

 

14.我們可以看到,下面列表中已出現了Xcode自動為我們提交生成的Profile了。格式都為:iOS Team Provisioning Profile: xxx。
之所以有2個,是由於AppID的Bundle ID決定的,這個東西填'*'和填'com.英文域名.*'有App使用真機權限上的區別。

 

 

15.我們來生成開發證書。點一下中間的'+'號,在彈出菜單中選擇'iOS Development'。

 

 

16.彈出提示:證書已生成。我們點'OK'。

 

 

17.我們再來生成發布證書。點一下中間的'+'號,在彈出菜單中選擇'iOS Distribution'。

 

 

18.彈出提示,我們的發布證書也生成了。我們點'OK'。

 

 

19.點一下左下角的刷新按鈕,刷新完成後,上方的證書列表會顯示剛才我們申請的2張證書:開發證書和發布證書。
我們去驗證一下證書是否已下回來了。我們點右下角的'Done',關閉窗口。

 

 

20.繼續點左上角的叉叉,關閉窗口。

 

 

21.我們暫時不用關閉Xcode,點左上角的'-',最小化Xcode,因為等下我們還有用。

 

 

22.點一下桌面,回到Finder,點'前往',點'實用工具'。

 

 

23.找到'鑰匙串訪問',雙擊打開。

 

 

24.在鑰匙串訪問的窗口中,點左側的'登錄',點下面的'我的證書',則可以看到右側列表裡,Xcode已下載並為我們裝上了2張證書。

 

 

25.接下來,我們安裝Profile文件,點一下桌面或者背後的文件夾,跳到Finder下,點擊'前往',點擊'前往文件夾'。

 

 

26.在彈出的對話框中,輸入以下路徑:/Users/你的用戶名/Library/MobileDevice/Provisioning Profiles ,並點擊'前往'。
注意,該文件夾圖形方式下是找不到的,需要用路徑訪問。

 

 

27.直達該文件夾了,我們點一下左上角的第二個小圖標,讓它以列表方式排列。可以看到,Xcode為我們下載回來了開發賬號上的
所有的Profile,其中,10KB的那兩個,就是Xcode為我們自動提交申請並生成的,其余8KB的3個讀者不必關注,如果你們從來沒有
登錄開發者網站去手動生成過的話,是沒有這3個的。
我們將這10KB的2個重命名一下。

 

 

28.將10KB的這2個重命名為我們自己容易記的名字。
OSX下的文件重命名操作是這樣的:先點一下文件,在選中狀態下,隔1秒後,再點一下,文件件就會高亮,同時也可以編輯的了。
點得太快的話會被認為是雙擊,這裡不要雙擊安裝這2個Profile。

 

 

29.重命名後,點一下桌面下面的Xcode,讓它顯示出來,點一下已連接設備下的'Provisioning Profiles',然後把窗口拖開一點點,
直到可以看到後面的文件夾為止,然後將剛才重命名的文件拖到Xcode的空白處後放手,它將會自己安裝到設備上去。
這2個分別對應的是'*'和'com.英文域名.*',你可以按需要安裝其中一個或全部。

 

 

30.安裝完成後(大概也就一瞬間的事情),可以看到它們的詳細信息:名稱、對應平台、有效期、AppID、以及授權文件的狀態。
值得注意的是:使用Xcode自動生成的Profile,已經不用區分'開發或發布'類型了。
證書和Profile文件都OK後,我們就可以使用真機調試了。

 

 

31.此時可以觀察到,真機上已裝好2個授權文件。(位置:設置->通用->描述文件)

 

 

32.將Xcode關掉,我們已經不需要用它了。

 

 

33.回到Finder下,我們點擊左側的'應用程序',去運行PAServer。

 

 

34.找到PAServer 15.0,雙擊運行。

 

 

35.PAServer運行起來後,我們可以回到WIN下面,進行真機調試了。

 

 

2.真機調試,Debug方式。 
---------------------------------------------------------------

36.打開XE7,並打開一個工程。
我們先來配置一下工程的授權設置,點擊'Project',點擊'Options'。

 

 

37.在Options窗口中,點擊'Provisioning',然後點擊右側的Target,在下拉菜單中的'All configurations'裡選擇'iOS Device platform'。

 

 

38.在Build Type中選擇:'iOS Device - Debug'。

 

 

39.在'Developer Certificate'中填上Mac裡Xcode自動為我們安裝的開發證書的名字。
開發證書的名字可以在Mac下->'鑰匙串訪問'->'登錄'->'我的證書'中,找到iPhone Developer開頭的就是,請注意大小寫。

 

 

40.填好開發證書以後, 我們繼續,點一下'Build Type',在下拉菜單中選擇'iOS Device - Ad hoc'。
我們繼續配置 Ad hoc這種編譯類型。

 

 

41.選擇了iOS Device-Ad hoc後,填上發布證書的名字、Profile文件在Mac中的路徑。完成後按'OK'保存。
發布證書的名字可以在Mac下->'鑰匙串訪問'->'登錄'->'我的證書'中,找到iPhone Distribution開頭的就是。
Xcode為我們下載的Profile的默認路徑是:
/Users/你的用戶名/Library/Provisioning Profiles/xxx.mobileprovision。
這裡要注意的是:發布證書的名字在MAC中,第一個D是大寫的,但在XE7中,這裡必須填小寫,如:
Mac下:iPhone Distribution : xxxxx
XE7下:iPhone distribution : xxxxx
否則,XE7的PAServer會因為這一個字母的大小寫原因而報找不到發布證書!
這可能是我這裡的問題,也有可能是XE7的PAServer的一個Bug? 期待更多測試結果及用戶反饋。

 

 

42.配置好編譯環境,如設備、尺寸、平台等。我們先來試下Debug編譯。雙擊Debug,變粗後,就可以運行工程了。

 

 

43.靜待編譯結果。
當進度在構建72x72的png時停留了一段時間而沒有進展,而下方也沒有給出錯誤信息時,我們可以切換到MAC下去授權程序簽名。

 

 

44.切換到Mac下,可以看到彈出了一個對話框,我們點擊'允許'或'總是允許'。然後切換回WIN下面看結果。
區別就是:'總是允許'後,重復編譯這個工程時,該證書對這個App的所有簽名都將一律允許,而XE7也不會在72x72的png停下來。
吃了炫邁,根本停不下來啊!

 

 

45.回到XE7下,授權簽名後,編譯繼續進行,如果沒有報錯的話,很快就能在真機上看到我們的App了。

 

 

46.運行結果真機截圖。(iPhone4 iOS6.1)

 

 

3.真機調試,Ad hoc方式。 
---------------------------------------------------------------

47.停止調試後,我們將真機上的App先卸載掉。不卸載看不出新的編譯結果。
然後編譯設置改一下,更改為Ad hoc,其它基本不需要變動。更改完成後,可以運行工程了。

 

 

48.由於之前沒有選擇'總是允許'簽名,所以依然是在這裡停下來。我們去Mac裡授權一下。

 

 

49.點擊'允許'或'總是允許'。

 

 

50.注意,假如上一步點擊'允許',那麼馬上還會出現一次詢問。
這是因為Ad hoc方式,它會有2步操作:在真機上安裝App、生成ipa文件。

 

 

51.回到XE7下,允許簽名後,編譯繼續。這裡我們就不貼上真機截圖了。

 

 

52.至於ipa文件,可以在以下2個地方找到:
Mac下:/Users/你的用戶名/PAServer/scratch-dir/以(windows用戶名-iOS SDK名稱)命名的文件夾/xxx.ipa
Win下:工程目錄\iOSDevice\Release 或 Debug\xxx.ipa

 

 

4.關於Xcode5或以上版本自動替我們在開發者網站上做的那些事。 
---------------------------------------------------------------

53.當我們在Xcode下添加了設備到Member Center時,Xcode替我們在開發者網站上添加了我們的設備。

 

 

54.同時,Xcode還替我們在開發者網站上添加了AppID。
名稱統一為:Xcode iOS Wildcard App ID。

 

 

55.同時,Xcode替我們在開發者網站上添加了Profile授權文件。
共2個,可以很容易識別出,文件的狀態是: Active(Managed by Xcode) 激活,並且由Xcode管理。
名稱統一為:
iOS Team Provisioning Profile: *
iOS Team Provisioning Profile: com.你的英文域名.*

 

 

56.當我們在Xcode下生成開發證書、發布證書時,Xcode替我們在開發者網站上添加了這2個證書。

 

 

至此,關於Xcode5或以上版本下的XE7 Debug和Ad hoc調試已介紹完畢。

而關於Application Store 的上架方式,我們稍後再介紹,謝謝關注。

 

 

PS:
--------------------------------------------------------------- 
FireMonkey移動開發可加QQ群:165232328 (本人非管理員,僅僅其中一成員,此群高手林立,期待各位Delphi愛好者共同交流)。

 


入,這是程序編碼吧,我姐的朋友叫我給我姐的,我姐叫我上網翻譯,我不懂

\x是十六進制的編碼吧,十六進制裡a,b,c,d,e,f分別就是十進制的10,11,12,13,14,15 ,
\xe5就是十進制的14x16+5=229
 

我有python 基礎,可以聽懂,問(cn('\xe6\xad\')這是什?

哈哈,我整出來這一串的意思了:正在載入%s版本

這是Unicode編碼的非ASCII碼字符,用如下三行代碼就可得到真正的內容(幸好是漢字):
str='\xe6\xad\xa3\xe5\x9c\xa8\xe8\xbd\xbd\xe5\x85\xa5%s\xe7\x89\x88\xe6\x9c\xac'
CODEC = 'utf-8'
print str.decode(CODEC)

看來這個是用三字節表示一個漢字的。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved