2016-06-20 1 views
0

J'ai des problèmes avec la version de test de notre application lorsque je tente de prendre une photo. Sur la plupart des appareils, tout fonctionne bien, mais quelque chose ne va pas, en particulier sur l'iPhone 6. Parce que nous n'avons pas d'iPhone 6, il est très difficile de savoir quel est le problème sans sortie console.Les autorisations de l'appareil photo sur iOS9 semblent être spécifiques à l'iPhone 6

Notre caméra appelant le code ressemble à ceci (note une partie de c'est spécifique à la plate-forme Moai):

int MOAIAppIOS::_takeCamera(lua_State* L) { 

int x, y, width, height = 0; 
NSUInteger sourceType; 

MOAILuaState state (L); 
if (state.IsType (1, LUA_TFUNCTION)) { 
    MOAIAppIOS::Get().mOnTakeCameraCallback.SetRef (state, 1); 
} 

sourceType = state.GetValue <NSUInteger>(2, 0); 
x = state.GetValue <int>(3, 0); 
y = state.GetValue <int>(4, 0); 
width = state.GetValue <int>(5, 0); 
height = state.GetValue <int>(6, 0); 

[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) 
{ 
    if (granted == true) 
    { 
     UIImagePickerNoRotate *ipc = [[UIImagePickerNoRotate alloc] 
             init]; 
     UIWindow* window = [[ UIApplication sharedApplication ] keyWindow ]; 
     UIViewController* rootVC = [ window rootViewController ]; 

     ipc.delegate = MOAIAppIOS::Get().mTakeCameraListener; 
     ipc.sourceType = sourceType; 
     [rootVC presentViewController:ipc animated:YES completion:nil]; 

    } 
    else 
    { 
     NSLog(@"denied"); 
    } 

}]; 



return 0; 
} 
void MOAIAppIOS::callTakeCameraLuaCallback (NSString *imagePath) { 
    MOAILuaRef& callback = MOAIAppIOS::Get().mOnTakeCameraCallback; 
    MOAIScopedLuaState state = callback.GetSelf(); 
    state.Push ([imagePath UTF8String]); 
    state.DebugCall (1, 0); 
    NSLog(@"callback sent"); 
} 

J'ai également ajouté ce qui suit à la pList:

<key>NSCameraUsageDescription</key> 
<string>Camera is used to add custom items to the game</string> 
<key>NSMicrophoneUsageDescription</key> 
<string>Microphone is used to record custom items for the game</string> 

Ces semblaient une des questions très similaires:
iOS Camera permissions doesn't appear under settings in some devices

Permission to take photo OR get image from library not shown in iOS9 (Xcode 7beta, Swift2)

Mais j'ai essayé tous les correctifs en vain.

Répondre

1

Ce problème apparaît dans iOS 9 lorsque le fichier Info.plist de votre application contient une clé: "CFBundleDisplayName" avec une valeur de chaîne vide.

Vous pouvez entrer le nom de votre application et cela devrait fonctionner.

+0

J'ai essayé mais ça n'a pas semblé avoir d'effet – peopletookallthegoodnames