2012-06-07 3 views
1

내 응용 프로그램이 승인되어 오늘 appstore에서 판매 할 준비가되었습니다. 앱 스토어에서 즉시 다운로드했지만 애플리케이션을 열면 내 애플리케이션에 광고가 없습니다. 나는 아무것도 이해하지 못한다.NSUserDefaults 실제 휴대 전화의 boolForKey 이상한 동작

내 코드에서 사용자가 inapp 항목을 구매 한 경우 userdefault의 값을 TRUE로 설정합니다.

그래서 응용 프로그램이 시작될 때이 사용자 기본 설정을 확인합니다. TRUE라면 어떤 광고도 보여주지 않습니다. 그렇지 않으면 광고 API를 호출합니다.

이 인앱 구매 영역의 일부입니다

if ([productId isEqualToString:@"dontshowads"]) 
    { 
      //user bought inapp item. so I must remove advertorials. 

      [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"aldimi_lite_reklamikaldirma_099"]; 
      [[NSUserDefaults standardUserDefaults] synchronize]; 
    } 

을하고이 viewwillappear 영역입니다 :

BOOL appin_reklamkaldirmaalindimi = [[NSUserDefaults standardUserDefaults] boolForKey:@"aldimi_lite_reklamikaldirma_099"]; 

    NSLog(@"appin_reklamkaldirmaalindimi :%d",appin_reklamkaldirmaalindimi); 

    if (!appin_reklamkaldirmaalindimi) 
    { 
     NSLog(@"showing ads"); 
    } 
    else { 
     NSLog(@"no ads. user bought inapp item"); 
    } 

내가 시뮬레이터 모든 일에 내 응용 프로그램 괜찮 실행합니다.

appin_reklamkaldirmaalindimi : 0 
    showing ads 

내 실제 전화 모든 일에 내 응용 프로그램을 실행

도 괜찮 :

콘솔이 로그를 제공합니다 (I 먼저 시뮬레이터를 삭제하고 건설 재).

appin_reklamkaldirmaalindimi : 0 
    showing ads 

을하지만 앱 스토어 모두에서 다운로드 내 응용 프로그램을 실행할 때 다른 : 콘솔이 로그를 제공

(내 휴대 전화에서 먼저 삭제하고 건설 재).

appin_reklamkaldirmaalindimi : 0 
    no ads. user bought inapp item 

을 다운로드 내 친구 전화의 상황을 확인하려고 :

콘솔이 로그를 제공합니다. 모든 것은 동일합니다. 그래서 내 전화기에 관한 것이 아닙니다.

어떻게 가능합니까? 나는 1 시간을 생각하고이 상황에 대한 설명을 찾을 수 없다.

+1

앱을 삭제했다가 다시 설치하려고 했습니까? – shabbirv

+0

예 5 번 시도했습니다. – woheras

+0

@shabzco가 올바른 답변을 제공합니다. 기기가 테스트에서 기본값을 보유하고있어 광고를 게재해서는 안됩니다. 그것을 다운로드 한 다른 사람을 알고 있습니까? – jrturton

답변

1

그런 이상한 현상에 대한 유일한 설명은 앱 스토어에 제출 한 코드가 어떤 식 으로든 손상되었거나 당신은 당신의 컴퓨터를 건축해서 시험했다. 이 문제를 해결할 수있는 유일한 방법은 응용 프로그램을 App Store에 다시 제출하는 것입니다.

내가 생각할 수있는 유일한 또 다른 가능성은 귀하의 앱이 광고 논리를 실행하기 전에 실행 코드 또는 스택의 일부가 어떻게 든 덮어 쓰게되는 것과 같은 매우 빈약하고 잘못된 메모리 액세스 경향이 있다는 것입니다.

+0

내 응용 프로그램을 상점에 다시 제출했는데 문제가 해결되었습니다. 감사합니다 여러분. – woheras

관련 문제