跳到主要內容

Xcode 更新後 App 上傳送審過程可能出現的問題

螢幕快照 2014-10-08 下午8.07.50

隨著 Mac OS X 與 iOS 的不斷進化,Xcode 這套 IDE 也不斷地跟著演進。不過每次 Xcode 大改版時,都需要花一些時間去適應,甚至有些開發者是以讓新版與舊版共存的方式來渡過這段新舊交接的過渡期。 最近小弟將 Xcode 更新到 6.0.1(6A317) 版,在上傳之前 iOS App 的更新版時,遇到了憑證不符(Xcode 更新後被認為是在不同的 Mac 上開發,而需要舊的 Developer Profile 或者是重新製作憑證)與 PKZip 上傳問題。

底下記錄一下解決的方法:

1。解決需重新匯入 Developer Profile 的問題 --- 其實這個問題應該也是憑證不符所造成的,請參考第二項的說明。在 Xcode 中將您的 Developer Profile 匯出然後再匯入,這樣沒辦法解決問題。

2。解決憑證不符的問題 --- 請開啟 KeyChain (鑰匙圈存取),在其主選單下選擇 憑證輔助程式 > 從憑證授權要求憑證...,在出現視窗的 使用者電子郵件位址 欄位中填入您的電郵信箱,然後在 已將要求: 項下,選取存到磁碟,按繼續後,就可以產生 製作憑證要求檔。用瀏覽器登入到您的開發者帳號,進入 Certificates, Identifiers & Profiles 中,新增一份 Certificate,這時要將 製作憑證要求檔 上傳才能新產生一份 Certificate。將新產生的 Certificate 下載。關閉 Xcode 與 KeyChain。雙按該憑證檔,憑證就會安裝進 KeyChain 中供 Xcode 使用。

螢幕快照 2014-10-08 下午8.19.49

螢幕快照 2014-10-08 下午8.21.33

3。如果您還遇上 PKZip(App 壓縮包) 檔簽署問題以致無法上傳,出現 ditto: Couldn't read PKZip Signature Unable to extract archive 的訊息,則需要在 Xcode 中開啟 Target 的 Info.plist 檔,點選裡頭的任一項,然後選取選單 Editor 中的 Show raw keys & values 選項,接著將 LSRequiresIPhoneOS 項設定成 YES。設好後,重新打包 App 然後上傳即可。

螢幕快照 2014-10-08 下午8.42.25

螢幕快照 2014-10-08 下午8.45.12

螢幕快照 2014-10-08 下午8.46.09

每次新版 Xcode 出來都要適應一陣子,希望您沒有像小弟這樣,中招了…,有新版出,最好還是將舊版留著,以免造成舊軟體在改版時的困擾。

留言

這個網誌中的熱門文章

何謂博士?

在 簡睿隨筆網誌 中閒逛,無意間發現了這一篇文章,個人覺得寫得很好,特此引用其中一張圖,希望傳佈給更多朋友知道。 這張圖是該文章提到 Ph.D 是什麼時所用的圖,黑線是表示人類目前所瞭解的知識領域,而紅色區域的部份就是個人透過不斷學習所累積的知識,而所謂的 Ph.D. 就是在知識領域的某一點有特別的進展,進而讓人類的知識領域又擴展「一點點」的人。 個人從這篇文章以及自身的體驗中看到至少三件事。首先,大自然是浩瀚無涯的,不管人類再怎麼發展進步,總還是會有未知的地方,所以人要謙卑。其次,要不斷地努力,才能有所突破。最後,在人類的知識領域中,既使您已經是某個領域或一些領域的 Ph.D 了,您不知道的事情還多著呢! 努力、謙卑,就是小弟看完這篇文章後感受到的。

iPod、iPhone 與 iPad 的螢幕自動亮度問題

許多使用 iDevice 的網友應該有注意到螢幕自動亮度的問題,約在 iOS 5 或 iOS 6 時,自動亮度的運作方式似乎有些調整,不會再像以前那樣,螢幕亮度會隨環境不同而即時自動調整。目前觀察到的現象是,會自動調亮但不會自動調暗。 要確認您的 iDevice 裝置上的自動亮度運作是否有問題,可以依照下列的操作檢查看看,雖然有網友說這叫校正,但個人並不覺得下列操作是在進行亮度感應器的校正。 1。將機子帶到暗處(也可以將光感應器遮起來),將亮度滑桿拉到最暗的位置,並將自動調整亮度關閉。 2。將機子帶到亮處,開啟自動亮度。此時應可看到螢幕會漸漸變亮,而亮度滑桿也會往右滑。如果您的機子不會變亮,請 Reset 後(久按睡眠/開啟鍵與 Home 鍵至白蘋果出現)再試看看。如果您的機子像小弟的一樣亮度會變化,那應該就是正常的。如果 Reset 後還是不會作動,可能就是機子的問題。 但如果您又將機子帶到暗處,很抱歉,這時螢幕就不會變暗了。有人說這是 Bugs,有人說這是阿婆怕使用者將機器橫拿時遮到感應器而特別設定的,不論如何,不能自動變暗會讓習慣在晚上使用機子的朋友感到困擾,而這到底是蟲還是故意設定成如此,這就有待證實。 如果環境的照明條件變了但機子不會調暗時,您可以按一下睡眠/開啟鍵讓機子進入休眠,然後再開啟,這時畫面亮度應該就會停在適當的亮度狀態了。 後記:小弟在 iPad mini 與 iPad 2 上測試,iPad mini 運作正常(如大多數朋友所觀察到的狀況),但 iPad 2 在升級到 iOS 6 之後,亮度感應器就都沒有作動,不管怎麼調整都沒有辦法讓亮度自動改變。小弟的 iPad 2 是整修機,而且也過保了,如果您手頭上現還有 iPad 2 而且沒有過保,建議您測看看,有問題且這問題很困擾您的話,請換修吧!

以 Ad-Hoc 方式測試軟體 iOS 7.1 裝置需要使用具 SSL 憑證的伺服器

在進行 iOS 的 app 開發時,常需要讓一些團隊成員或測試者測試 beta 版的 app。如果您以 Ad-Hoc 方式發送測試用 app 給測試者下載安裝的話,使用者的裝置若已更新至 iOS 7.1,則您需要找個有 SSL 憑證,支援 HTTPS 的 host 來放置您的 app,否則測試者要下載測試軟體時,會遇上憑證無效的錯誤訊息而無法下載安裝。 提供給您參考,若您有相關的解決方法,也請不吝賜教分享給大家。 [更新] 可將 ipa 與 plist 檔上傳到 Dropbox 中的"公開檔夾(public)"中,然後連到 itms-services://?action=download-manifest&amp;url=<plist 檔的位置>,即可進行 Ad Hoc 的發佈。當然,測試者的裝置需經過開發裝置的 UDID 碼註冊才行。 另外,Google Site 因不支援以 itms-services:// 的協定連結,所以無法透過 Google Site 的連結來進行 Ad Hoc 的發佈。  [回覆 -> 天天網友] 請如圖所示般,複製 .ipa 檔的公開連結,將 .ipa 的公開連結加到 .plist 檔中。以同樣的方法複製 .plist 檔的公開連結,並將連到 .plist 檔的超連結寫成 itms-services://?action=download-manifest&amp;url=<plist 檔超連結> 的形式(沒有角括號),放在網頁中,或以電郵傳給測試者,點選之後,即可將 .ipa 檔下載安裝。不是以 HTML 的 <a href=""> 來連結。 您的問題應該是沒有在網頁的連結中使用 itms-services:// 的方式來進行連結,或不是連結到 .plist 的公開連結上。 .plist 的 URL 看起來會像是 https://dl.dropboxusercontent.com/u/xxxxxxx/xxxxxx/xxxxxxxx.plist。網頁中連結的寫法是 <a href=itms-services://?action=download-manifest&amp;url=https://dl.dropboxuserco...