2013-02-05 2 views
0

AIR의 SharedObject를 사용하여 IOS 응용 프로그램에 일부 데이터를 저장합니다.IOS 응용 프로그램의 AIR SharedObject가 재설정 후 사라집니다.

UIApplicationExitsOnSuspend를 true로 설정하면 공유 객체가 정상적으로 작동합니다. 즉, 빠른 응용 프로그램 전환기 (빠른 응용 프로그램 전환기는 홈 단추를 두 번 클릭하여 나타남)에서 제거한 다음 응용 프로그램을 다시 실행합니다 여전히 거기에있다.

하지만 UIApplicationExitsOnSuspend를 false로 설정하고 빠른 응용 프로그램 전환기에서 응용 프로그램을 제거한 다음 다시 실행하면 내 SharedObject가 비어 있습니다.

문제는 내가 UIApplicationExitsOnSuspend false를 사용해야한다는 것입니다.하지만 SharedObject를 항상 저장해야하며 백그라운드에서 작동하는 경우도 없습니다.

감사합니다.


UPD : 일부 코드

이 프로젝트의 주요 클래스의 생성자 :

public static var so:SharedObject;
public function Main():void
{

so = SharedObject.getLocal("MyApp");
}

다음 내가이

if (!Main.so.data.names) {
Main.so.data.names = [];
}
Main.so.data.names.push(someNewName);

동안처럼 사용 앱이 백그라운드에서 작동하고 있습니다. t는 잘 작동하고 모든 변경 사항이 저장됩니다. 하지만 빠른 응용 프로그램 전환기에서 응용 프로그램을 죽이고 다시 실행하면 디버거가 Main.so.data에 아무것도 표시되지 않음을 나타냅니다.

+1

SharedObject가로드되어 저장되는 코드를 게시 할 수 있습니까? –

+0

@LeeBurrows ok, 방금 내 질문을 업데이트했습니다 – user1622036

+0

어디에서 flush()를 호출합니까? –

답변

0

iOS 용 AIR에서 동일한 문제가 발생했습니다. ShareObject 대신 EncryptedLocalStore를 사용하면 문제가 해결되는 것 같습니다.

다음은 EncryptedLocalStore를 사용하여 배열을 저장하고 검색하는 방법에 대한 링크입니다. 링크에 오타가 있습니다 - 'EncryptedLocalStorage'대신 'EncryptedLocalStore'로 변경하십시오 - Is it possible to store an Array into an EncryptedLocalStore item? AIR