안드로이드에서는 WRITE_EXTERNAL_STORAGE 권한이 있느냐 없느냐에 따라, Application.persistentDataPath의 경로가 달라진다.

 

오늘 해당 권한이 없는 상태에서 앱 진입후 런타임 퍼미션을 통해 해당 권한을 얻었음에도 Application.persistentDataPath의 경로가 올바르게 리턴되지 않는 현상, 즉 권한을 획득하기 이전의 경로로 리턴되는 현상이 발생되었다.

 

이럴 경우 처음 앱을 실행한 상태에서 Application.persistentDataPath을 사용하여 파일을 쓰거나 리소스를 저장하게 되는데, 두번째로 앱을 실행하면 권한을 이미 획득한 상태에서 올바른 Path를 획득하게 되므로 첫번째 실행시 저장된 파일을 찾지 못하는 현상이 발생하게 된다.

 

테스트 조건은 갤럭시S10.

 

클라이언트단에서는 처리가 어려운 문제라 골치 아팠는데 마침 알림으로 소프트웨어 업데이트가 떠있길래 업데이트 후 재테스트한 결과 위와 같은 현상이 사라짐...

 

망할 커펌.....

 

'C# > Tip' 카테고리의 다른 글

기수 정렬  (0) 2019.04.05
로그에 뜨는 경고 해제하기  (0) 2017.04.03
Image를 Base64 String으로 변환  (0) 2016.08.24
메소드 확장  (0) 2016.08.24

코루틴을 이해하고 있는지 알아보는 문제.

만들었던 나조차 한번 틀렸다-_-...


아래와 같은 코드가 있다고 가정하고

콘솔에 찍히는 숫자를 순서대로 나열하면? (당연히 머리로만 계산해서+_+)


using System.Collections;

using UnityEngine;



public class Test: MonoBehaviour

{

    private void Start()

    {

        StartCoroutine(Test1());

    }


    IEnumerator Test1()

    {

        Debug.Log("1");

        IEnumerator enumerator = A();


        Debug.Log("2");

        while (enumerator.MoveNext())

        {

            Debug.Log("3");

            yield return null;

            Debug.Log("4");

        }

        Debug.Log("5");

    }


    IEnumerator A()

    {

        Debug.Log("6");


        yield return false;


        Debug.Log("7");


        yield break;


        Debug.Log("8");

    }

}



+ Recent posts