몇 가지 특정 제한 시간이 지나면 만료되는 응용 프로그램을 만들고 있습니다. 사용자가 메소드에 액세스 할 수 없으며 사용자가 다운로드 한 애플리케이션을 구매하거나 등록해야 함을 의미합니다. 사용자는 응용 프로그램을 열 수 있지만 시간 제한 사용자는 응용 프로그램 기능을 사용할 수 없습니다. 이것이 가능합니까? 모든아이폰에서 특정 시간에 만료되는 응용 프로그램을 만드는 방법은 무엇입니까?
답변
첫째 : 당신의 개인 API에없는 기능 중 하나를 사용하는 경우
애플이 응용 프로그램을 거부하지 않을 것입니다.
특정 시간 후에 응용 프로그램을 차단하려면 논리적으로 구현할 수 있습니다.
내용 응용 프로그램이 장치에 다운로드되면 응용 프로그램 기본 설정 (사용자 기본값)에 현재 시간 &을 저장하십시오. 이 옵션에서 사용자가 응용 프로그램을 제거하면 & 응용 프로그램을 다시 설치하면 환경 설정이 재설정됩니다.
그래서 iOS 기기가 재설정되지 않을 때까지 제거되지 않는 다양한 장소가 있습니다 (키 체인처럼). Apple은 키 체인에 데이터를 저장하는 메소드를 제공합니다.
다음은 사용자가 응용 프로그램을 열 때마다 응용 프로그램의 저장된 시간으로 현재 시간을 확인해야합니다.
한도를 확인하면 사용자가 응용 프로그램을 사용하게하거나 경고를 던져 볼 수 있습니다. & 원하는 작업을 수행하십시오.
도움이 될 수 있기를 바랍니다.
저는 컴파일 할 때마다 타임 스탬프가있는 파일을 만드는 빌드 스크립트를 사용하여이 작업을 수행했습니다. 파일은 빌드 대상의 일부이며 앱과 함께 배포됩니다. 앱이 실행되면 코드가 파일의 타임 스탬프를 확인하고 앱이 지나친 시간이 지나면 앱이 경고 페이지를 표시하고 다른 작업은 수행하지 않습니다.
이제 면책 조항. 필자는 엔터프라이즈 버전의 개발 버전에서이 시스템을 사용합니다. 이렇게하면 오래된 개발 버전이 어지럽히 지 않게되어 사람들이 오래된 개발 버전을 가져 오지 못하게되고 최근 개발 버전이라고 생각하지 않게됩니다. 나는 프로덕션 배포 응용 프로그램에서이 시스템을 사용하는 것을 결코 생각하지 않습니다.
편집 : 요청마다 내가 사용하는 코드와 스크립트가 추가되었습니다. 그것은 훌륭하지 않지만 작동합니다. 누구든지 개선하고 싶다면 더 나은 버전을 보게되어 기쁩니다. 나는 바로 "컴파일 소스"작업 내가 사용하는 오브젝티브 C 코드 내가 프로젝트의 공정한 걸쳐 사용하는 경향이 코드의 정적 라이브러리에있는
builddate=`date`
# if BuildDateString doesn't exist, add it
/usr/libexec/PlistBuddy -c "Add :BuildDateString string $builddate" "$TARGET_BUILD_DIR/$INFOPLIST_PATH"
# and if BuildDateString already existed, update it
/usr/libexec/PlistBuddy -c "Set :BuildDateString $builddate" "$TARGET_BUILD_DIR/$INFOPLIST_PATH"
전에 실행하도록 설정 스크립트가 있습니다. 또한 TSExpiredViewController
이라는 간단한 UIViewController
을 포함하여 필요한 경우 만료 된 메시지를 표시합니다.
+ (void)expireAppAfterOneWeek {
[self expireAppAfter:604800];
}
+ (void)expireAppAfter:(NSTimeInterval)secondsAfterBuilds {
id<UIApplicationDelegate> appDelegate = [UIApplication sharedApplication].delegate;
NSString *buildDateString = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"BuildDateString"];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"EEE MMM dd kk:mm:ss zz yyyy";
NSDate *buildDate = [df dateFromString:buildDateString];
if (-[buildDate timeIntervalSinceNow] > secondsAfterBuilds) {
appDelegate.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
TSExpiredViewController *viewController = [[TSExpiredViewController alloc] init];
appDelegate.window.rootViewController = viewController;
[appDelegate.window makeKeyAndVisible];
}
}
- 1. 특정 시간에 만료되는 CodeIgniter의 쿠키 설정
- 2. iPhone : 특정 시간에 자동으로 호출되는 iPhone 응용 프로그램을 만드는 방법
- 3. 특정 시스템 시간에 응용 프로그램을 중지/중지하고 특정 시스템 시간에 시작하는 데비안에서 스크립트를 작성하는 방법은 무엇입니까?
- 4. 특정 시간에 응용 프로그램을 시작하는 방법
- 5. 아이폰에서 피아노 UI를 만드는 방법은?
- 6. 아이폰에서 연기 효과를 만드는 방법은 무엇입니까?
- 7. 특정 모듈을 실행해야하는 장고 응용 프로그램을 만드는 방법은 무엇입니까?
- 8. 서버 응용 프로그램을 삭제하거나 아이폰에서 제거하는 방법?
- 9. iphone을 통해 응용 프로그램을 구입하는 응용 프로그램을 만드는 방법은 무엇입니까?
- 10. 웹 응용 프로그램을 만드는 방법은 무엇입니까?
- 11. "이중"Spine.js 응용 프로그램을 만드는 방법은 무엇입니까?
- 12. Universal 응용 프로그램을 만드는 방법은 무엇입니까?
- 13. 독립형 데이터베이스 응용 프로그램을 만드는 방법은 무엇입니까?
- 14. 휴대용 버전 응용 프로그램을 만드는 방법은 무엇입니까?
- 15. 백그라운드 응용 프로그램을 만드는 방법은 무엇입니까?
- 16. 응용 프로그램을 신뢰할 수있게 만드는 방법은 무엇입니까?
- 17. 웹 응용 프로그램을 만드는 방법은 무엇입니까?
- 18. 지역화 된 응용 프로그램을 만드는 방법은 무엇입니까?
- 19. 퀴즈 응용 프로그램을 만드는 방법은 무엇입니까?
- 20. 문서 어셈블리 응용 프로그램을 만드는 방법은 무엇입니까?
- 21. 아이폰에서 게임 응용 프로그램을 시작하기위한 기본 단계는 무엇입니까?
- 22. 특정 시간에 파일을 서버에 업로드하는 방법은 무엇입니까?
- 23. 특정 시간에 vb.net 프로그램을 종료하는 방법
- 24. iPhone 용 미디어 플레이어 응용 프로그램을 만드는 방법은 무엇입니까?
- 25. windows phone 7 특정 시간에 응용 프로그램을 엽니 다.
- 26. C#에서 시스템 이벤트 응용 프로그램을 만드는 방법은 무엇입니까?
- 27. 특정 시간에 시작하여 특정 시간에 완료하도록 javax.swing.JProgressBar를 사용하는 방법?
- 28. 아이폰에서 댓글 페이지를 만드는 방법은?
- 29. Hubot을 특정 시간에 말하도록하십시오?
- 30. 활동에서 특정 시간에 AsyncTask를 실행하는 방법은 무엇입니까?
사과가 마음에 들지 않을 것이라고 생각합니다. – Dani
허용되지 않습니다. 그것은 거절 당할 것이다. –
앱 스토어에는 허용되지 않지만 임시 배포를 사용하는 앱 또는 내부 엔터프라이즈 앱의 베타 테스트에서이 작업을 수행하는 경우 이는 합당한 질문입니다. – progrmr