写真を撮ろうとするときに私たちのアプリのテスト飛行バージョンに問題があります。 ほとんどのデバイスですべて正常に動作しますが、特にiPhone 6では何かがうまくいかないようです。 iPhone 6がないので、コンソール出力なしで問題が何かを見つけるのは非常に難しいです。iOS9でのカメラのアクセス許可はiPhone 6固有のようです
コードを呼び出す私たちのカメラは、この(これのいくつかはモアイプラットフォームに固有であることに注意)のようになります。
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");
}
私も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>
これらのように思えました非常によく似た問題:
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)
しかし、私はすべての修正を無駄に試してみました。
私はそれを試みましたが、効果がないようです – peopletookallthegoodnames