【发布时间】:2016-06-10 07:59:40
【问题描述】:
所以我有一个网址方案,即 - appname//
当我在 safari 中访问一个响应为appname//jsonurl 的网站时,它会在 appDelegate 中正确捕获它,但是当我尝试在我的应用程序中使用它时,变量是空的,因为我的应用程序函数在子函数
代码 appDelegate -
//url scheme
var urlScheme: String!;
var pathScheme: String!;
var queryScheme: String!;
var checkbool : Bool = false;
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
//get contents of url
urlScheme = url.scheme;
pathScheme = url.path;
queryScheme = url.query;
NSLog("URLLLL");
//NSLog(urlScheme);
//NSLog(pathScheme);
//NSLog(queryScheme);
return true;
}
ViewController 代码
查看已加载
NSNotificationCenter.defaultCenter().addObserver(self, selector: ("loadJSON:"), name: UIApplicationWillEnterForegroundNotification, object: nil);
joon函数
func loadJSON(notification: NSNotification){
NSLog("app entered foreground");
getValidJson();
//play video using specific player
if(videoPlayer == 0){
//call inlineVideo();
inlineVideo();
resizeScreen();
}else{
//call 360 video player
makeSphere();
resizeScreen();
}
createImageView(videoPlayer);
//add seeker
view.addSubview(timeRemainingLabel);
view.addSubview(seekSlider)
//add target listeners for the seeker
seekSlider.addTarget(self, action: "sliderBeganTracking:", forControlEvents: UIControlEvents.TouchDown);
seekSlider.addTarget(self, action: "sliderEndedTracking:", forControlEvents: [UIControlEvents.TouchUpInside, UIControlEvents.TouchUpOutside]);
self.view.backgroundColor = UIColor.blackColor();
}
如何从我的url scheme 获取值并在我的视图控制器中使用它,目前我的应用程序函数在 loadJSON 函数之后被调用,它应该是相反的方式
【问题讨论】:
标签: ios json swift url url-scheme