2009-09-15 2 views

답변

6

실행 중에 번들 내용을 수정할 수 없으면 해당 디렉토리에 대한 쓰기 권한이 없습니다. 네가 원하는대로 정확하게 할 수있는 방법이 있는지 모르겠다.

3

나는 다음과 NSBundle 통해있는 NSDictionary로의 Info.plist를 얻을 수 있습니다 알고

NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary]; 

거기에서 당신은 NSDictionarymutableCopy을 만들고 그 안에 값을 설정할 수 있습니다. 키를 쿼리 할 때는 NSDictionary이 아니라 info.plist 파일을 쿼리해야합니다.하지만 두 문제를 모두 처리하는 클래스에이 모든 것을 캡슐화하는 것은 어렵지 않습니다.

앱의 info.plist 파일을 직접 수정하는 경우 문제가있을 수 있습니다 (예 : 파일을 수정하면 코드 서명이 실패하고 앱이 손상된 것으로 간주 됨). 확실하지 않습니다.

+0

'UIRequiresPersistentWiFi' 키가 네트워크 연결이 필요할 때 WiFi 대화 상자를 표시하는 액세스 방법을 알 수 없거나 모를 수있는 더 큰'UIApplication' 코드에 연결되어있는 것처럼 보입니다. 따라서 번들 환경 설정의 복사본을 만드는 것이이 특정 경우에는 가능하지 않을 수 있습니다. 그러나이 동작이 재정의 될 수있는 경우 다른 키에도 적용될 수 있습니다. –

+0

info.plist 또는 mainbundle에있는 파일을 변경할 수 없습니다. – mahboudz

0

Info.plist를 수정할 수 없습니다. 당신이 한 일을 애플이 승인 한 방식으로 보이지 않습니다.

0

나는 이것이 효과가 있다고 생각하지 않습니다. [NSBundle mainBundle]에는 특정 infoDictionary에 대한 포인터가 있습니다. 변경할 수있는 사본을 가지고 있더라도 NSBundle은 새로운 plist에 대해 아무 것도 모릅니다. 누구나 아직 해봤습니까?

0

Info.plist는 사전 일뿐입니다. 따라서 편집 할 수 있습니다.

관련 문제