2011-10-27 6 views
0

무엇을해야할지 조언이 필요합니다.iOS5 이전 응용 프로그램의 문제

나는 App Store에 여러 개의 응용 프로그램을 가지고 있으며 이전의 모든 iOS에서 모두 테스트되었으며 완벽하게 작동합니다. 하지만 이제는 iOS5로 기기를 업데이트 할 때 인터넷에 연결하고 현재 위치가 표시된지도를 요청하는 알림보기 항목에서 예기치 않게 충돌이 발생하기 시작했습니다.

나는 개발 경험이 없으므로 조언을 받아야합니까? iOS5의 최종 버전에서는 이러한 것들이 자체적으로 해결 될 것입니다.

감사합니다.

좋아요. 나는 좀비를 찢어 서 문제를 일으키는 방법을 발견했습니다.

- (void) alertView: (UIAlertView*) alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{ 
    NSLog(@" Button PRESSED: %d", buttonIndex); 
    [alertView release]; 



    if (buttonIndex == 1) { 
     BOOL noConnectionAvailable = NO; 
     BOOL hasParentalLimit = NO; 

     switch (lastSelectedItem.itemType) { 
      case RestaurantItemTypeAddress : { 
       if ([NetworkHelper connectedToNetwork] == YES) { 
        AddressController *mapController = [[AddressController alloc] initWithNibName:@"AddressController" bundle:nil restaurant:restaurant]; 
        mapController.title = restaurant.res_title; 
        [self.navigationController pushViewController:mapController animated:YES]; 
        [mapController release]; 
       } else 
        noConnectionAvailable = YES; 

       break; 
      } 
      case RestaurantItemTypeReservationEmail : { 
       if ([NetworkHelper connectedToNetwork] == YES) { 
        MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
        picker.mailComposeDelegate = self; 

        [picker setSubject:@"Reservation"]; 
        // Set up recipients 
        NSArray *toRecipients = [NSArray arrayWithObject:lastSelectedItem.itemTextContent];    
        [picker setToRecipients:toRecipients]; 

        // Fill out the email body text 
        NSString *emailBody = @""; 
        [picker setMessageBody:emailBody isHTML:NO]; 

        [self presentModalViewController:picker animated:YES]; 
        [picker release]; 

        [self.tableView deselectRowAtIndexPath:lastSelectedIndexPath animated:YES]; 
       } else 
        noConnectionAvailable = YES; 

       break; 
      } 
      case RestaurantItemTypeReservationForm : { 
       if ([NetworkHelper connectedToNetwork] == YES) { 
        if ([NetworkHelper canOpenUrl:lastSelectedItem.itemTextContent]) { 
         WebViewController *wvc = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil urlStr:lastSelectedItem.itemTextContent]; 
         wvc.title = restaurant.res_title; 
         [self.navigationController pushViewController:wvc animated:YES]; 
         [wvc release]; 
        } else hasParentalLimit = YES; 
       } else 
        noConnectionAvailable = YES; 

       break; 
      } 
      case RestaurantItemTypeWeb : { 
       if ([NetworkHelper connectedToNetwork] == YES) { 
        if ([NetworkHelper canOpenUrl:lastSelectedItem.itemTextContent]) { 
         WebViewController *wvc = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil urlStr:lastSelectedItem.itemText]; 
         wvc.title = restaurant.res_title; 
         [self.navigationController pushViewController:wvc animated:YES]; 
         [wvc release]; 
        } else hasParentalLimit = YES; 
       } else 
        noConnectionAvailable = YES; 

       break; 
      } 

     } 

     if (noConnectionAvailable == YES) { 
      UIAlertView* newAlert = [[UIAlertView alloc] initWithTitle:@"Jesolo Official Guide" 
                   message:@"Nessuna connessione disponibile." 
                   delegate:self 
                cancelButtonTitle:@"OK" 
                otherButtonTitles:nil]; 
      [newAlert show]; 
     } 

     if (hasParentalLimit == YES) { 
      UIAlertView* newAlert = [[UIAlertView alloc] initWithTitle:@"Jesolo Official Guide" 
                   message:@"Navigazione su Web non consentita." 
                   delegate:self 
                cancelButtonTitle:@"OK" 
                otherButtonTitles:nil]; 
      [newAlert show]; 

     } 

    } 

    [self.tableView deselectRowAtIndexPath:lastSelectedIndexPath animated:NO]; 

} 

로그는 iOS4 및 iOS5에서 서로 다릅니다.

2011-11-04 16:26:28.550 Jesolo-EN[5693:207] Button PRESSED: 1 
2011-11-04 16:26:28.776 Jesolo-EN[5693:207] *** -[NSIndexPath isEqual:]: message sent to deallocated instance 0xe6b6fc0 
sharedlibrary apply-load-rules all 
Current language: auto; currently objective-c 
warning: Attempting to create USE_BLOCK_IN_FRAME variable with block that isn't in the frame. 
(gdb) 

및 iOS4에 말했다 : iOS5를에 는 말했다

2011-11-04 16:28:08.087 Jesolo-EN[5859:207] Button PRESSED: 1 
2011-11-04 16:28:08.162 Jesolo-EN[5859:207] *** -[UIAlertView release]: message sent to deallocated instance 0x78c4940 
sharedlibrary apply-load-rules all 
Current language: auto; currently objective-c 
(gdb) 

나는 내가 사용하기 전에 내가 데이터를 공개하지만이 활성화 좀비하지 않고 응용 프로그램을 실행할 때에 iOS4 및에서 잘 작동하는지 이해 iOS5는 한 번 실행 한 다음 10 번 충돌합니다.

+3

불행히도, 당신은 다시 테스트하고 문제를 해결하는 것보다 다른 옵션이 없습니다. 문제가 발생한 곳을 찾아 해결하십시오. 최종 버전에서는 수정되지 않을 가능성이 큽니다. – Daniel

+0

모든 내 앱은 섹터로 분할 된 일부 익사 맵이있을 때 뷰 전환에 문제가 있습니다. 섹터를 클릭하면 충돌이 발생합니다. 이 문제를 해결하는 방법을 모르는 사람 : ( – Akosha

+0

+1 simplebob의 의견입니다. 제공되는 정보를 통해 문제의 원인을 파악하는 것은 매우 어렵습니다. http://msmvps.com/blogs /jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx – occulus

답변

0

:) ...

Click on your **project**->go to **info**-> go to **build** section-> in that go to **Deployment** section->then **IOS deployment** section choose the **deployment target to IOS 5** or latest and save and run... 

가 당신을 도울 수 있습니다 희망 ... 난 아주 많이 있는지 이것에 대해 모르지만, 당신이 시도 할 수있는 인스턴스 변수에 대한 참조 그 이전에 이제는 self.ivar로 참조해야 할 필요가 있습니다. 아마도 managedObjectContext에 대한 참조가 self.managedObjectContext가되어야할까요?

0

내가 발견하고

0

확인 해결책을 찾을 수 있습니다.

어떻게 든 iOS5는 iOS4에 존재하는 doest'n 개체의 일부 릴리스를 감지하고 찾으려고했지만 포기했습니다.

대신 ARC를 켜고 모든 릴리즈와 dealloc에 ​​주석을 달고 내 앱은 정말 잘하고 있습니다. 지금은 더 빨리 작동한다는 인상을받습니다. 희망이 사람을 도울 것입니다 ...

관련 문제