2012-07-24 7 views
1

Monotouch 3.0.3.4를 사용하여 Sqlite 데이터베이스를 만들려고합니다. 모든 것은 아이폰 시뮬레이터에서 잘 작동하지만 테스트 용 iPhone에서 다음과 같은 오류가 발생합니다 :Monotouch를 사용하여 SQLite 데이터베이스 만들기 - 권한이 거부되었습니다.

DataLayer.CreateDatabase 예외 : System.UnauthorizedAccessException : "/ private/var/mobile/Applications/4B4944BB-EC37- 4B0C-980C-1A9B60DACB44/TestApp.app/myDatabase.db3 "이 거부되었습니다. 여기

내가 사용하고있는 코드입니다 : 나는 또한 개인 폴더를 명시 할 시도

// creates database and tables if they do not exist. 
public void CreateDatabase() 
{ 
string sql = string.Empty; 
string dbFileName = "myDatabase.db3"; 
try { 
      if (!File.Exists (dbFileName)) { 

    // create database 
    SqliteConnection.CreateFile (dbFileName); //This is where the error occurs 
    Console.WriteLine ("CreateDatabase: Database created."); 
      ... 

    } 
     catch (Exception ex) { 
     Console.WriteLine ("CreateDatabase Exception: " + ex.ToString()); 
    } 

    ... 

,하지만 아무 효과가 없습니다. 권한이 올바른지 확인하려면 어떻게해야합니까?

감사합니다. 가능성이 MonoDevelop 3.0.3.4있어

답변

1

Monotouch 3.0.3.4

. MonoDevelop에 관하여에 관하여 MonoTouch 버전을 얻기 위하여보십시오.

"/private/var/mobile/Applications/4B4944BB-EC37-4B0C-980C-1A9B60DACB44/TestApp.app/myDatabase.db3"응용 프로그램이 서명 장치에

, 그 내용 때문에 서명을 깨지 않고 변경할 수 없습니다. 따라서 이 아닌.app 디렉토리의 내용을 변경할 수 없습니다.

Documents 디렉터리에 데이터베이스를 만들거나 복사 한 다음 데이터베이스를 읽기/쓰기로 열어야합니다.

자세한 내용은 linked article을 참조하십시오.

+0

감사합니다. 링크 된 기사는 데이터베이스 작동을위한 정보를 제공했습니다. 정말 고마워! – user1549631

+0

위대한 :) 비슷한 질문을 검색하는 다른 사람들이 신속하게 거기에 대한 해결책을 볼 수 있도록 답변 (투표 수 아래에 체크 표시)로 질문을 표시하는 시간이 걸릴하십시오. – poupou

관련 문제