gpt4 book ai didi

ios - Swift - 在将 NSURL 加载到 UIWebView 之前将参数附加到 NSURL

转载 作者:行者123 更新时间:2023-11-30 13:48:13 26 4
gpt4 key购买 nike

我尝试将 deviceToken 附加到 webView loadRequest 之前的 URL,以便我可以使用 GET 值PHP 脚本。我的问题是,保存 deviceToken 值的函数 didFailToRegisterForRemoteNotificationsWithError 最后被触发/运行。 deviceToken 附加在 loadRequest 之后,这不是我需要的方式。

有什么办法可以让它在加载之前通过吗?

最佳答案

这是我解决问题的方法:

注意:

下面的代码可能不如您的那么优美。我还在开始学习 Swift,所以请原谅我的“困惑”代码。

这是我的 View Controller :

override func viewDidLoad(){
super.viewDidLoad()

//Reference to my AppDelegate

let ad = UIApplication.sharedApplication().delegate as! AppDelegate
ad.regDevTok()
loadAddressURL()

//reload
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 5 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
var url = NSURL(string: "http://yourSite/sampleIndex.php?token=\(token)")
var requestObj = NSURLRequest(URL: url!,
cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 3.0)

self.webView.loadRequest(requestObj)
}
}

//Setting up GUI of webview
func loadAddressURL() {
var myURL = NSURL(string: "http://www.yourSite.com/sampleIndex.php")
var reqURL = NSURLRequest(URL : myURL!)
webView.loadRequest(reqURL)
NSLog("loadAddressURL")
}

这是我的 AppDelegate:

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
//var token was initiated as a global variable
token = deviceToken.hexString()
}

func regDevTok(){
// Device Token
let deviceToken = defaults.objectForKey("DeviceToken") as! String?
if (deviceToken == nil) {
let type: UIUserNotificationType = [UIUserNotificationType.Badge, UIUserNotificationType.Alert, UIUserNotificationType.Sound]
let setting = UIUserNotificationSettings(forTypes: type, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(setting)
UIApplication.sharedApplication().registerForRemoteNotifications()
}
}

感谢@Ted Huinink 先生和@Mahesh 先生为我提供解决方案的想法。

关于ios - Swift - 在将 NSURL 加载到 UIWebView 之前将参数附加到 NSURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com