2016-04-03 166 views
0

我正在爲我的學校開發一個包含午餐菜單的應用程序,但由於午餐菜單每個月都在變化,我不想只爲此更新我的應用程序。我知道你可以在本地或在線使用Xcode打開PDF,但有沒有辦法手動更改PDF的URL路徑,並在應用程序內實時更新。任何幫助將不勝感激,我是開發IOS應用程序的新手,所以任何可能有用的鏈接都會很棒。有沒有辦法手動更改PDF的url路徑並實時更新?

+0

我假定PDF是在線發佈的,所以我想你可以在路徑中添加一個變量,並在這一週。例如:http://example.com/201615/lunch.pdf:2016年第15周的午餐菜單。您的應用只需計算一週,每週的文檔將有所不同 – FredericP

回答

0

如果您控制網站或與該人進行溝通,那麼您可能會同意最新的菜單始終從example.com/current/lunch.pdf返回,但實際上應該將其設置爲GET請求example.com/index.php?lunchmenu=current,以便它已關閉到網站迴應文件或文件位置,而不是應用程序的責任來猜測文件名。例如:

if let url = NSURL(string: "http://www.example.com/index.php?lunchmenu=current") { 

    let config = NSURLSessionConfiguration.defaultSessionConfiguration() 
    let session = NSURLSession(configuration: config) 
    let dataTask = session.dataTaskWithURL(url, completionHandler: {(d,_,_) in 
     if let data = d { 
     String(data:data, encoding:NSUTF8StringEncoding) // this is could be your file name 
     } 
    }) 

    dataTask.resume() 
} 

然後可以執行其他請求,例如:example.com/index.php?lunchmenu=nextmonth。以這種方式工作意味着,如果由於某種原因命名模式或文件位置改變了你的應用程序仍然會繼續工作。

如果您無法訪問學校網站,但知道文件的存儲位置,則可以查詢您自己的網站以獲取文件信息,並自動更新此文件(或者如果沒有其他方法 - 手動) 。同樣,如果學校網站的結構發生變化,這將阻止應用更新。

只有依靠靜態文件位置和命名系統,如果你真的必須的話。

+0

很棒的建議!非常感謝你的時間和幫助。試圖一步一步地學習,因爲我只編寫了3個月的編碼,希望能繼續在這方面做得更好。 – CODINGGH0ST

相關問題