我正在創建一個應用程序,該應用程序將在特定的時間限制後過期。意味着用戶無法訪問它的方法,用戶應該購買或註冊下載的應用程序。用戶可以打開應用程序,但一段時間後用戶不能使用應用程序功能。 這可能嗎?如何製作一個在iphone特定時間到期的應用程序?
1
A
回答
-1
首先:如果您使用未在其私有API中列出的功能的任何
蘋果不會拒絕你的申請。
所以如果你想在特定時間後阻止你的應用程序,你可以在邏輯上實現它。
對於這種一旦你的應用程序在設備下載,存儲當前時間&日期在你的應用程序首選項(用戶缺省值)。儘管在此選項中如果用戶將刪除應用程序&重新安裝應用程序,首選項將重置。
所以有直到iOS設備沒有被重置(像鑰匙扣),這是不會被刪除的各個地方。 Apple提供了將數據存儲在鑰匙串中的方法。
下一個是你必須做的是,當用戶打開應用程序,你需要在應用存儲的時間來檢查當前時間每次。
如果驗證你的極限,可以讓用戶使用該應用程序或把你想要的任何行動警報&做的。
我希望這可能對您有所幫助。
1
我已經通過使用構建腳本完成此任務,每次編譯時都會創建一個帶有時間戳的文件。該文件是構建目標的一部分,並與應用程序一起部署。當應用程序運行時,代碼會檢查文件的時間戳,並且如果過了很多時間,應用程序將拋出一個警告頁面,而不會執行其他任何操作。
現在免責聲明。我將這個系統用於企業應用程序的開發版本。這可以防止舊的開發版本混亂,並阻止人們獲得舊的開發版本,並認爲他們是最近的版本。我永遠不會想到在生產部署的應用程序中使用此係統。
編輯:每請求我加我使用的代碼和腳本。這不是很好,但它的工作原理。如果有人想改善它,我會很高興看到更好的版本。我「編譯源」任務
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"
我使用的Objective-C代碼的代碼靜態庫,我傾向於越過了相當多的項目中使用存在前右側有腳本設置爲運行。它還包括一個簡單的UIViewController
,稱爲TSExpiredViewController
,以根據需要顯示過期的消息。
+ (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. iPhone:如何創建在特定時間自動調用的iPhone應用程序
- 2. iPhone應用程序在某個特定時間「醒來」
- 3. 製作Django應用程序在特定的時間通知人
- 4. 限制對iPhone應用程序投票到一個特定的iPhone設備
- 5. 如何在iphone中的特定時間在後臺應用程序時激活應用程序?
- 6. 如何在iPhone上的指定時間運行應用程序?
- 7. 如何限制特定日期(星期一)的oracle作業時間間隔?
- 8. 如何製作iPhone TimeTable應用程序
- 9. 如何在應用程序的特定時間通知用戶
- 10. 強制特定的時間到一個單元格的日期
- 11. 如何在iPhone應用程序的特定時間每天調用一個方法?
- 12. 如何在iPhone應用程序與iWatch應用程序同步本地數據的同時延長iPhone應用程序的後臺到期時間?
- 13. 如何讓Android應用程序在特定日期之間工作?
- 14. iOS或Android開發,如何在特定時間後過期應用程序
- 15. 如何在第一時間確定iPhone上的加載應用程序?
- 16. 如何限制在Android應用程序中的時間動作?
- 17. 從iphone應用程序發送日期時間到web服務
- 18. 如何在特定時間啓動應用程序
- 19. 如何在特定時間喚醒android應用程序?
- 20. 如何在特定時間發佈應用程序?
- 21. 如何在工作日的特定時間回收應用程序池?
- 22. 如何讓我的應用程序等待特定的時間?
- 23. 如何在iPhone應用程序中的某個時間收到通知?
- 24. 製作一個iPhone應用程序的多個版本
- 25. 如何在iphone中獲取特定應用程序的PID?
- 26. 如何在iPhone應用程序中設置特定的鍵盤?
- 27. 如何使一個iPhone應用程序,只適用於特定的WiFi網絡
- 28. 如何在一個主iphone應用程序下分組iphone應用程序?
- 29. 製作一個短期/過期的應用程序
- 30. 如何從一個iPhone應用程序
我不認爲蘋果會喜歡這個 – Dani 2012-01-07 06:58:18
這是不允許的。它會被拒絕。 – 2012-01-07 07:20:47
這不會被允許用於應用商店,但如果您正在測試使用臨時分發的應用或在企業內部應用中測試應用,這是一個合理的問題。 – progrmr 2014-06-19 00:03:11