###前提・実現したいこと
Unityでスマートフォン向けのアプリを開発していて、WebCamTextureとZXingを使用してバーコードリーダーを実装したのですが、Androidに吐き出すと何も問題なく動作するのですが、iPhoneに吐き出すとカメラを起動した瞬間アプリが落ちてしまうので、これを修正したいです。
###該当のソースコード
using System.Threading;
using System;
using UnityEngine;
using ZXing;
using ZXing.QrCode;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class BarcodeCam : MonoBehaviour
{
public Texture2D encoded;
private WebCamTexture camTexture; private Thread qrThread; private Color32[] c; private int W, H; private Rect screenRect; public static bool isQuit; public string LastResult; private bool shouldEncodeNow; public Text[] text; public static Text[] publictext; public GameObject[] button; public static GameObject[] publicbutton; public static bool DecodeFlg; public static string[] str; public static int[] inumber; public static int[] Count; public static List<int> lnumber; public static List<int> lCount; private const int MAX_NUMBER = 10; private const int MAX_STRING = 13; public GameObject obj; public static float[] ColorInt = new float[3]; public static int Number = 0; public static bool oneFlg; public static Color32 color; public static List<GameObject> ListGimmick = new List<GameObject>(); public float ObjAlpha; public static int ListGimmickCount = 0; public static int SaveCount = 0; public int cam_widht = 640; public int cam_height = 480; public static GameObject gSign; public static List<String> BarcodeNumber = new List<String>(); public GameObject[] tes; private bool onesFlg = false; //GUIにカメラの映像を描画 void OnGUI() { if (!DecodeFlg && camTexture != null && !onesFlg) { GUI.DrawTexture(screenRect, camTexture, ScaleMode.ScaleToFit); } } //カメラの起動 void OnEnable() { Debug.Log("カメラ起動!"); if (camTexture != null) { camTexture.Play(); W = camTexture.width; H = camTexture.height; } } void OnDisable() { if (camTexture != null) { camTexture.Pause(); } } void OnDestroy() { qrThread.Abort(); camTexture.Stop(); DecodeFlg = false; isQuit = false; } //アプリが終了したら void OnApplicationQuit() { isQuit = true; }
※スクリプトは一部のものです。
###補足情報(言語/FW/ツール等のバージョンなど)
Unityのバージョンは5.3.4f1、iPhoneへの掃き出しはXCodeを使っています。
あなたの回答
tips
プレビュー