-1

我们已经在应用商店提交了该应用,并获得了批准。但是一天后我们发现它在 iOS 5 和 6 上运行良好,但在 iOS7 上却崩溃了。

以下是崩溃日志

Nov 14 01:45:16 Mys-iPhone AchMyieveCard[4871] <Warning>: Successfully received the test notification!
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Remove User
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Hide the Progress Bar1
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Hide waiting view
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Hide the Progress Bar2
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>:   view did dis appear
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: MainNavController :: setMyToolbar
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Menu Name = My Cards
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: MCPClient :: Method to prepare URL with provided url parameter values
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Key : lastName                      
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Value : Cunningham
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: key lastName, value Cunningham
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Key : ssn4                          
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Value : 2123
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: key ssn4, value 2123
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Key : zipCode                       MyNov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Value : 12345
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: key zipCode, value 12345
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Prepared URL after appending parameters lastName=Cunningham&ssn4=2123&zipCode=12345
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: Hidden  ---  0
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: View Controllers = (
        "<UINavigationController: 0x16557a40>",
        "<UINavigationController: 0x165cd7b0>",
        "<UINavigationController: 0x165d6490>",
        "<UINavigationController: 0x165d89e0>"
    )
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>: View will appear
Nov 14 01:45:16 Mys-iPhone MyApp[4871] <Warning>:  --- >>>>>   hasEnteredInAppFirstTime ::: 1
Nov 14 01:45:16 Mys-iPhone ReportCrash[4877] <Notice>: ReportCrash acting against PID 4871
Nov 14 01:45:16 Mys-iPhone ReportCrash[4877] <Notice>: Formulating crash report for process MyApp[4871]
Nov 14 01:45:16 Mys-iPhone com.apple.launchd[1] (UIKitApplication:com.i2cinc.MyApp[0xbb1c][4871]) <Warning>: (UIKitApplication:com.i2cinc.MyApp[0xbb1c]) Job appears to have crashed: Segmentation fault: 11
Nov 14 01:45:16 Mys-iPhone backboardd[28] <Warning>: Application 'UIKitApplication:com.i2cinc.MyApp[0xbb1c]' exited abnormally with signal 11: Segmentation fault: 11
Nov 14 01:45:16 Mys-iPhone ReportCrash[4877] <Notice>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/MyApp_2013-11-14-014516_Mys-iPhone.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0
Nov 14 01:45:25 Mys-iPhone mstreamd[4878] <Notice>: (Note ) mstreamd: mstreamd starting up.
Nov 14 01:45:25 Mys-iPhone mstreamd[4878] <Notice>: (Note ) PS: Media stream daemon starting...
Nov 14 01:45:26 Mys-iPhone awdd[4879] <Error>: CoreLocation: CLClient is deprecated. Will be obsolete soon.
Nov 14 01:45:36 Mys-iPhone routined[34] <Notice>: CoreLocation: </System/Library/LocationBundles/Routine.bundle> woken up by Core Location
Nov 14 01:45:36 Mys-iPhone kernel[0] <Debug>: 154088.182708 wlan.A[27556] AppleBCMWLANNetManager::updateLinkQualityMetrics(): Report LQM to User Land 100, fAverageRSSI -69
Nov 14 01:45:36 Mys-iPhone backboardd[28] <Warning>: Launch Services: Registering unknown app identifier /System/Library/LocationBundles/Routine.bundle failed
Nov 14 01:45:36 Mys-iPhone backboardd[28] <Warning>: Launch Services: Unable to find app identifier /System/Library/LocationBundles/Routine.bundle
Nov 14 01:45:36 Mys-iPhone SpringBoard[33] <Warning>: Unknown application display identifier /System/Library/LocationBundles/Routine.bundle.

代码

 NSLog(@"View will appear");
        NSLog(@" --- >>>>>   hasEnteredInAppFirstTime ::: %u", [mClient hasEnteredInAppFirstTime]);
        if([mClient hasEnteredInAppFirstTime]) {
            mClient.hasEnteredInAppFirstTime = NO;

            NSLog(@"Default Screen %@", mClient.defaultScreen);
            if([mClient defaultScreen] == (id)[NSNull null] || [mClient defaultScreen].length == 0 ) {

                NSLog(@"Default screen is nil, going to load dashboard");
                [mClient setUPProgressHUDForView:self.view withLable:@"Generating Dashboard" andMessage:@"Please Wait.."];
                for(UIView *subview in [self.scrollView subviews]) {
                    [subview removeFromSuperview];
                }
                NSLog(@"-->    :::  Going to change here");
                [self generateDashboard];
            } else {
                NSLog(@"Going to push default screen : %@", mClient.defaultScreen);
                //[mClient setUPProgressHUDForView:self.view withLable:@"Loading Default Screen" andMessage:@"Please Wait.."];
                [self pushDefaultScreen:mClient.defaultScreen];
            }
        } 

请帮助我,让我知道问题是什么,为什么会崩溃以及解决方案是什么。

4

2 回答 2

1

当你改变它时,你正在改变一个数组:

for(UIView *subview in [self.scrollView subviews]) {
   [subview removeFromSuperview];
}

您应该制作子视图数组的副本,并将消息发送到其中的每个对象:

NSArray *oldSubviews = [self.scrollView.subviews copy];
for(UIView *subview in oldSubviews) {
   [subview removeFromSuperview];
}
于 2013-11-13T21:45:15.667 回答
0

我正在访问 另一个类的mClient defaultScreen 属性。并且在 defaultScreen 中设置值时,我没有使用此运算符和属性名称。这在 iOS6 中运行良好,但在 iOS7 中导致崩溃。

mClient中的上一行代码: defaultScreen = @"screen name";

新代码: this.defaultScreen = @"screen name";

现在崩溃是固定的。:-)

于 2013-11-17T17:25:27.070 回答