iOS開發記錄(6)

妹的,搞了一整天終於發佈出一個ipa以供demo。

背景:

要做一個demo給客戶,開發完後在自己手機上可以用,以爲用91導出就可以裝到其他機器上,一試發現不是那麼回事。

於是老老實實的重頭搞起,

其中遇到兩個問題,

1、a valid provisioning profile for this executable was not found

這個問題的原因是不發佈到appstore上的app,要新增待測試手機的uuid才行。

不上appstore的app最多隻能連100個終端。


在Device裏添加一個設備ID,設備ID在新的iTunes11裏不好拷貝,下個91手機助手查看手機的“更多信息”就可以拷貝粘貼了。

然後再provisioning裏添加Devices,select all就好了。


2、valid signing identity not found

這個問題參考下面步驟解決。

(1)生成私有證書,打開鑰匙串,鑰匙串訪問 – 證書助理 – 從證書頒發機構請求證書…,填入iDP郵箱及常用名稱,選存儲到磁盤,得到 CertificateSigningRequest.certSigningRequest 文件
(2)打開 iOS Provisioning Portal 中的 Certificates 頁面,Revoke Development 及 Distribution 中的證書,之後將第一步的文件上傳重新生成,成功後下載安裝
Devices 及 App IDs 這兩個頁面保持原樣,不需更改
(3)進入 Provisioning 頁面,將 Development 及 Distribution 中的配置文件清空(全選,Remove Selected),之後點 New Profile 按鈕新建配置
(4)打開 Xcode 的 Organizer – Devices,選中 LIBRARY 下的 Provisioning Profiles,之後在界面右下角找到 Refresh 按鈕,點之,輸入iDP賬號密碼即可自動下載並安裝所有配置

3、其他亂七八糟的記錄,搜索的時候搜到的,全部記下來吧。

(1)在Xcode>>File>>Project Setting...>>Build下,把Derived Data Location設置改爲Project-relative,同時Advanced...裏Build Location改爲Derived Data Location。
這樣會在工程目錄下生成DerivedData文件夾,裏面包含了CordovaLib工程生成的Public頭文件,再編譯就沒有問題了。

(2)出現:
ld: warning: ignoring file /Users/corotchi/Library/Developer/Xcode/DerivedData/NJR_IR-ftjwhrqtxwedihfjrbjikbqqttkx/Build/Products/Release-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (armv7s): /Users/corotchi/Library/Developer/Xcode/DerivedData/NJR_IR-ftjwhrqtxwedihfjrbjikbqqttkx/Build/Products/Release-iphoneos/libCordova.a
Undefined symbols for architecture armv7s:
  "_OBJC_CLASS_$_CDVURLProtocol", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_CDVViewController", referenced from:
      _OBJC_CLASS_$_MainViewController in MainViewController.o
  "_OBJC_METACLASS_$_CDVViewController", referenced from:
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
時,或者出現錯誤:
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1
需要修改下:Build Settings下的Valid Architectures.
把 armv7 armv7s 改成armv7 也就是刪掉後面那個,就可以編譯通過了~

(3)CDVFile.m這個文件中定義了一個常量NSURLIsExcludedFromBackupKey,是iOS5.1之後添加的設置文件是否備份屬性的key。
如果CordovaLib.xcodeproj以iOS5.1 SDK 編譯會報錯,我改成5.0就沒問題了。

(4)cordovalib的"Skip install"一定要選NO。

記個鏈接:http://www.jumbotcms.net/html/xinde/detail_2012_06/15/10354.shtml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章