2012-04-16 17 views
9

Tworzę aplikację na iPhone'a, która używa UIImagePickerController, aby użytkownicy mogli wybrać obraz z biblioteki zdjęć.Symulator iPada nie działa z UIImagePickerController w aplikacji iPhone'a

Selektor pozwala mi uzyskać obraz z biblioteki zdjęć pomyślnie:

  • iPhone sumulator
  • prawdziwy iPhone z systemem 5.0.1
  • prawdziwy iPad z systemem 5.0.1
  • prawdziwego iPada działa 5.1
  • Symulator iPada v4.3

Ale zbieracz nie uzyskać obraz gdybym przetestować aplikację na:

  • iPad symulator v5.0
  • iPad symulator v5.1

Na tych 2 środowiskach testowych, próbnika obrazu z powodzeniem pojawia się. Po dotknięciu obrazu, którego potrzebuję, po prostu nie daje mi nic od "[info objectForKey: UIImagePickerControllerOriginalImage]" metodą "- (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info "

"Info" Słownik jest po prostu tak:

{ 
    UIImagePickerControllerMediaType = "public.image"; 
    UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG"; 
} 

Gdzie jako "info" jest podobny do tego na dawnych środowisk 5 badań:

{ 
    UIImagePickerControllerMediaType = "public.image"; 
    UIImagePickerControllerOriginalImage = "<UIImage: 0x6bb7810>"; 
    UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG"; 
} 

Widać, że brakuje UIImagePickerControllerOriginalImage. Nie jestem pewien, czy to tylko ja?

Uwaga: Używam Xcode 4.3.2 z iOS 5 SDK

Uwaga 2: Nie używam AssetsLibrary ramy, aby uzyskać obraz.

Uwaga 3 (dodano 2 sierpnia 2012): zaktualizowałem system do Xcode 4.4 z zainstalowanym systemem Mountain Lion. Ten sam problem nadal istnieje. Ale teraz pojawia się nowy komunikat o błędzie, jeśli uruchomię go w symulatorze iPada v5.0 (komunikat o błędzie nie pojawi się, jeśli uruchomię go na iPadzie Simulator v5.1). Komunikat o błędzie mówi: Nie znaleziono nazwy usługi "com.apple.PersistentURLTranslator.Gatekeeper". assetsd jest wyłączone lub źle skonfigurowane. Rzeczy nie będą działać tak, jak tego oczekujesz.

Nota 4 (dodane 25/listopad/2012): Wykorzystanie Xcode 4.5.2, problem ten nadal istnieje w symulatorze iPad 5.0, 5.1, i 6.0

Uwaga 5 (dodane 6/mar/2012): Używając Xcode 4.6, ten problem nadal istnieje w symulatorze iPada we wszystkich wersjach.

+0

Hi Wayne, mam ten sam problem w mojej aplikacji, jeśli znajdziesz jakieś rozwiązanie to proszę podzielić się – iBhavik

+0

Sorry i-bhavik, nie ma jeszcze rozwiązania. (Właśnie dodałem notatkę 5) –

+0

Dla Tymczasowego rozwiązania dałem odpowiedź na to. – iBhavik

Odpowiedz

0

spróbować tego w rzeczywistym urządzeniu

 - (IBAction)BrowseImage:(id)sender { 

    if ([UIImagePickerController isSourceTypeAvailable: 
    UIImagePickerControllerSourceTypeSavedPhotosAlbum]) 
{ 
    UIImagePickerController *imagePicker = 
    [[UIImagePickerController alloc] init]; 
    imagePicker.delegate = self; 
    imagePicker.sourceType = 
    UIImagePickerControllerSourceTypePhotoLibrary; 
    imagePicker.mediaTypes = [NSArray arrayWithObjects: 
           (NSString *) kUTTypeImage, 
           nil]; 
    imagePicker.allowsEditing = NO; 
    [self presentModalViewController:imagePicker animated:YES]; 
    //newMedia = NO; 
} 


-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
    { 

[self dismissModalViewControllerAnimated:YES]; 


} 
+0

dziękuję, czy mógłbyś pokazać, co umieściłeś w "- (void) kontroler imagePickerController: (UIImagePickerController *) didFinishPickingMediaWithInfo: (NSDictionary *) info" o to właśnie jest moje pytanie. –

0

nie wiem problem, który jednak na opcję czasowego,

imagePicker.allowsEditing = TAK;

To daje obraz o UIImagePickerControllerOriginalImage,

Wiem jej nie sposób, ale ...

+0

Niestety, to nie działa na symulatorze iPada (o to właśnie chodzi) :( – ripegooseberry

Powiązane problemy