Tag: 迅速

FCM后台通知无法在iOS中使用

我在iOS上遇到FCM通知问题。 当我的应用程序处于前台( appdelegate中的appdelegate被触发)时,我收到了成功的通知,但是当应用程序处于后台(我没有在iOS的通知托盘中看到任何内容)时,我没有收到通知。 所以我觉得问题是FCM发出的信息格式。 我的服务器发送给FCM的json格式如下: { "data":{ "title":"mytitle", "body":"mybody", "url":"myurl" }, "notification":{ "title":"mytitle", "body":"mybody" }, "to":"/topics/topic" } 正如你所看到的,在我的json中有两个块:一个通知块(在后台接收通知)和一个数据块(在前台接收通知)。 我不明白为什么后台通知没有收到。 我怀疑是关于块的顺序(如果我把“数据”块放在“通知”块之前,是一个问题?)。 编辑:关于这个问题的更多信息。 这是我的appdelegate.swift: @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? // Application started func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { let pushNotificationSettings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil) […]

将数据保存到Swift中的.plist文件

我试图快速地将数据保存到plist文件中,但是数据没有显示出来,因为当plist被读取时它被保存了。 这是我正在使用的代码。 var documentsDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString var path : NSString = documentsDirectory.stringByAppendingPathComponent("data.plist") var data : NSMutableDictionary = NSMutableDictionary(contentsOfFile: path) data.setObject(self.object, forKey: "key") data.writeToFile(path, atomically: true) 编辑:我听说最好的办法是写入文档目录,所以我的问题是如何写入该目录中的文件?

如何在Swift中使用NSURLSession downloadTask按顺序下载多个文件

我有一个应用程序必须下载多个大文件。 我希望它逐一下载每个文件,而不是同时下载。 当它同时运行的应用程序得到超载和崩溃。 所以。 我试图包装在NSBlockOperation downloadTaskWithURL,然后在队列上设置maxConcurrentOperationCount = 1。 我在下面编写了这个代码,但它没有工作,因为两个文件同时下载。 import UIKit class ViewController: UIViewController, NSURLSessionDelegate, NSURLSessionDownloadDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. processURLs() } func download(url: NSURL){ let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration() let session = NSURLSession(configuration: sessionConfiguration, delegate: self, delegateQueue: nil) let downloadTask […]

将UIImage切成一个圆Swift(iOS)

我想把一个UIImage切成一个圆,这样我就可以用它作为注释。 我发现这个网站上的每一个答案都描述了创build一个UIImageView ,然后修改并显示它,但是你不能将一个注释的图像设置为一个UIImageView ,只有一个UIImage 。 我应该怎么做呢?

如何使用Swift获取UIImage中的像素的颜色?

我试图用Swift获取UIImage中的一个像素的颜色,但它似乎总是返回0.这里是代码,从@Minas的这个线程的答案翻译: func getPixelColor(pos: CGPoint) -> UIColor { var pixelData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage)) var data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData) var pixelInfo: Int = ((Int(self.size.width) * Int(pos.y)) + Int(pos.x)) * 4 var r = CGFloat(data[pixelInfo]) var g = CGFloat(data[pixelInfo+1]) var b = CGFloat(data[pixelInfo+2]) var a = CGFloat(data[pixelInfo+3]) return UIColor(red: r, green: g, blue: b, alpha: a) } 提前致谢!

使用Alamofire在iOS Swift中使用MultipartFormData发送POST参数

我第一次使用Alamofire。 我正在使用最新版本的Alamofire 1.3.1。 我想在一个API调用中发送一个图像,一个video和一些POST参数。 我正在使用多部分表单数据。 多部件模块正在工作。 我面临一个问题发送额外的POST参数params 。 以下是我的代码。 “params”是包含额外参数的字典吗? 如何在请求中附加这些POST参数。 请帮忙 var fullUrl :String = Constants.BASE_URL + "/api/CompleteChallenge" var params = [ "authKey": Constants.AuthKey, "idUserChallenge": "16", "comment": "", "photo": imagePath, "video": videoPath, "latitude": "1", "longitude": "1", "location": "india" ] let imagePathUrl = NSURL(fileURLWithPath: imagePath!) let videoPathUrl = NSURL(fileURLWithPath: videoPath!) Alamofire.upload( .POST, URLString: fullUrl, // […]

快速创build和播放声音

所以我想要做的就是快速创build和播放声音,当我按下button时,我知道如何在Objective-C中做到这一点,但有谁知道如何在Swift中? Objective-C就是这样: NSURL *soundURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mysoundname" ofType:@"wav"]]; AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &mySound); 然后玩它,我会做的: AudioServicesPlaySystemSound(Explosion); 有谁知道我能做到这一点?

++被弃用它将被迅速删除3

++会在swift 3中被弃用 variables++现在可以写成 variable += 1 我怎样才能重写++variable 。 请记住++variable和variable++语法的区别

Swift:在返回函数之前等待Firebase加载

我从firebase有一个简单的函数加载date。 func loadFromFireBase() -> Array<Song>? { var songArray:Array<Song> = [] ref.observe(.value, with: { snapshot in //Load songArray }) if songArray.isEmpty { return nil } return songArray } 目前这个函数总是返回零,即使有数据要加载。 它是这样做的,因为它不会在函数返回之前加载数组的地方执行完成块。 我正在寻找一种方法来使函数只返回一旦完成块已被调用,但我不能把回报完成块。

Swift – 如何获取文件夹内的文件path

我有一个文件夹内的一组audio文件。 我能够访问文件,当文件被放置在主包,但如果文件被移动到文件夹内,我无法访问文件。 码: let audioFileName:String = "audioFiles/" + String(index) let audioFile = NSBundle.mainBundle().pathForResource(audioFileName, ofType: "mp3")! 我有一个audioFiles文件夹内的audio文件,我想要得到它的path。 错误: 致命错误:意外地发现零,而解包一个可选值