将Objective C项目转换为ARC并消除多个应用程序崩溃

时间:2015-02-06 06:54:40

标签: ios crash automatic-ref-counting release retain

我花了几天时间研究一款由我的朋友去年在iOS 8和Xcode 6+发布之前构建的应用程序。他使用了几个库,如PMCalender,FXforms,MyBlurIntroductionView,CCPickerView,SWRevealTableView等,我添加了MBProgressHUD。现在应用程序运行之前没有崩溃,或者现在我在进一步研究我使用应用程序后遇到的问题时理解了。我相信该应用程序有多个因为内存泄漏。我在修改之前阅读了他的代码,并注意到他放了一些编译源,即-fno-objc-arc或fobjc-arc。大约一天前,由于某种原因尝试集成SPGooglePlaceAutocomplete,我不得不从Build Settings中禁用Objective-C ARC,然后整个项目构建时出现大量错误。我必须在某些头文件中将弱对象更改为强对象等等。

现在我尝试阅读本文以获得更多理解Apple Transitioning to ARC release NOte

我发布这个问题是因为我会说我是iOS开发的新手,但追赶速度非常快。我需要帮助才能有一个平稳运行的应用程序崩溃,因为。我所经历的并不清楚我必须使用Instruments来确切地看到导致应用程序崩溃的原因,而在某个时刻进入应用程序几次它不会崩溃。当它崩溃我得到这个只有线程x并且不能真正知道在哪里调试

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

enter image description here

添加具有MapKit,登录屏幕后首先应该缩放到用户当前位置。我使用Instruments查看应用程序正在发生的事情的原因是因为我怀疑CoreLocation可能导致崩溃连接到远程CCLocationManager服务。我注意到我的手机需要时间来打开GPS,即使我的请求位置始终[self.locationManager requestAlwaysAuthorization];

,它仍然不会保持打开状态

所以我希望有人可以帮助我,因为我做了整个ARC过渡但仍然有释放,自动释放错误。我所有的IUOutlet都很弱。

以下是我留下的6个错误,希望应用程序正常运行。 enter image description here

1 个答案:

答案 0 :(得分:0)

我这是我的问题的答案,经过长时间的搜索和调试,这对其他人有帮助。

http://www.daveoncode.com/2011/10/24/migration-to-arc-automatic-reference-counting-using-xcode-4-2-refactor/