使用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模式在个别的代码处理上显然是有区别的。

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