使用Testflight發現的NSString和String轉換的問題

這兩天使用Testflight測試App,發現到某個地方向後臺請求數據的時候總是崩潰。開始我以爲是不是蘋果的某些認證出錯了,反覆的查,沒有結果。今天我使用Xcode導出爲ipa文件,然後從iTunes拖到自己的iphone上,發現同樣有問題。這樣,我就判斷是某個地方的代碼有了問題,經過不斷的打成ipa包,然後拖到iphone,這樣不斷的測試,終於發現以下代碼:

var base64Str = NSString(data: base64Data, encoding: NSUTF8StringEncoding) as String

將其替換爲:

var base64_ns = NSString(data: base64Data, encoding: NSUTF8StringEncoding)
    var base64Str = base64_ns?.substringFromIndex(0)

就好了。

本次問題的關鍵是,ipa文件和提交到appstore上的程序包都是release模式的,而我們平時使用的模式都是debug的(包括在真機上測試),而release和debug模式在個別的代碼處理上顯然是有區別的。

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