Tag: 快速

GCM IOS NotRegistered问题

我已经使用GCM很长一段时间了。 有一天它突然爆发了。 问题是,我发送的第一个推我成功的地位,但应用程序没有收到任何推。 我发送的第二个推送失败,出现NotRegistered错误。 我重新安装应用程序:成功(没有收到通知),失败(NotRegistered) – >循环。 我不知道发生了什么变化。 对于GCM问题,APN问题还是客户端问题,Google的支持是非常无用的,而且花费了大量的时间来回答简单的问题。 如果有人有这样的问题,请让我知道要寻找什么。 这就是它的样子: 我怀疑是在更新​​到iOS 9之后发生的。我不确定。 如果在新的iOS中有可能阻止GCM的东西,我会感激,如果有人指出。 更新: GCM推送失败NotRegistered 那家伙也有类似的问题。 问题是一些清单文件。 Info.plist中可能有一些条目需要添加到iOS 9以允许GCM? 更新: 每次应用程序启动时都会调用onTokenRefresh。 不过,我也得到了同样的道理。 所以在GCM服务器上有一个令牌存在问题,我怀疑。 GCM代码在APPDELEGATE: var connectedToGCM = false private var deviceToken: NSData? var gcmSenderID: String! let authorizedEntity = "my GCM Sender_ID" public func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override […]

如何在Swift中为NSLayoutConstraint设置animation?

我的目标是animation一个UIImageView 。 我在viewDidLoad声明了一个NSLayoutConstraint 。 在viewDidLoad ,我使用了这个代码: UIView.animateWithDuration(1, animations: { myConstraint.constant = 100 self.view.layoutIfNeeded() }, completion: {finished in }) 为什么我的形象不移动?

使用Swift 3.0编译的模块不能在Swift 2.3中导入

这就是我所做的: import BSTableViewReorder 并得到以下错误: 使用Swift 3.0编译的模块不能在Swift 2.3中导入 我能做些什么来编译它? 我做了: Edit > Convert -> Current Swift Syntax 使用Xcode 8和macOS Sierra。 对于两个:目标和项目我有以下设置Use Legacy Swift Language Version 该项目是我codapods依赖关系的荚。 我只是将项目转换为Swift 3.0,但不能编译。

SceneKit剔除飞机

我在SCNView中有一个SCNScene渲染。 我有一些在场景中呈现/移动的* .dae模型。 我有一个透明的立方体,当我的一个模型落在它后面时,我希望模型不被渲染,因为此刻立方体是透明的,可以通过立方体看到它。 是否有任何属性/设置/着色器可以应用到透明立方体,以便它后面的任何东西都不被渲染? 例: 我的眼睛是绿色的圆点,立方体是蓝色的方形,我的模型是红色的圆圈,然而,立方体隐藏的圆圈部分是紫色的……这实际上是隐形的。 蓝色的广场也是不可见的。 这个开发者有一个遮挡着色器,它可以做我需要的,但它是Unity: https : //youtu.be/MK3D91kCKzM 亲切的问候 克里斯

Swift – 打开内置的iOS字典来查找单词的含义

在我的项目中,我想打开iOS内置的字典来查找单词的含义,甚至更好,直接在我的应用程序中获取单词的含义。 目前我发现如何检查一个string拼写正确使用UITextChecker func wordIsReal(word: String) -> Bool { let checker = UITextChecker() let range = NSMakeRange(0, count(word)) let misspelledRange = checker.rangeOfMisspelledWordInString(word, range: range, startingAt: 0, wrap: false, language: "en") return misspelledRange.location == NSNotFound }

快速计算大文件的MD5校验和

我正在为大型video文件创buildMD5校验和。 我目前正在使用的代码: extension NSData { func MD5() -> NSString { let digestLength = Int(CC_MD5_DIGEST_LENGTH) let md5Buffer = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLength) CC_MD5(bytes, CC_LONG(length), md5Buffer) let output = NSMutableString(capacity: Int(CC_MD5_DIGEST_LENGTH * 2)) for i in 0..<digestLength { output.appendFormat("%02x", md5Buffer[i]) } return NSString(format: output) } } 但是这会创build一个内存缓冲区,而对于大型video文件来说并不理想。 有什么方法在Swift中计算读取文件stream的MD5校验和,所以内存占用将是最小的?

在testing项目中找不到“XXX-Swift.h”文件

我试图调用一个NSObject子类的方法,让我们说在testing项目中的XCTestCase子类的方法内的“主”项目。 主项目的NSObject子类导入“XXX-Swift.h”头文件(我正在混合Swift和Objective-C代码)。 所有工作正常,当我运行主项目,但是当我运行testing调用该子类的对象时,我得到一个错误,说在导入中的Swift头文件没有find。 我想我错过了testing目标中的一些设置,但是我没有find哪个…我应该检查什么? 或者我应该怎么做才能解决这个问题?

杀死应用程序后,后台提取不起作用

我试图从后台获取url获取数据。 我的func试图获取数据,如果有新的数据,它发送本地通知。 后台抓取大约10 – 20分钟后,我最小化的应用程序。 但是,当我杀了应用程序(双击主页button,closures应用程序)它不起作用。 我等了大约1小时,但没有奏效。 我在android中使用后台服务,它正在成功。 有什么办法从url获取数据,并在应用程序closures时发送本地通知? 我正在使用Xcode 6和Swift 1.2

iOS通知触发器:每两周和/或每季度一次

我似乎无法find任何苹果文档这个确切的情况,我已经尝试了各种方式来做到这一点,我一直空着。 我想安排一个重复的通知( iOS 10+所以UNCalendarNotificationTrigger或等效)。 这些是本地通知 不推送通知。 我的目标: 安排重复的通知: 每两周一次 (例如,每隔一个星期二) 每季度一次 (例如, 每三个月一次 ) 我目前的做法: 这些触发器运行良好,并且易于实现(在Swift Playground中运行代码)。 // Every day at 12pm var daily = DateComponents() daily.hour = 12 let dailyTrigger = UNCalendarNotificationTrigger(dateMatching: daily, repeats: true) dailyTrigger.nextTriggerDate() // "Jan 4, 2017, 12:00 PM" // Every Tuesday at 12pm var weekly = DateComponents() weekly.hour = 12 […]

在Swift中从CVPixelBufferRef获取像素值

我怎样才能从一个CVPixelBufferRef RGB(或任何其他格式)的像素值? 我尝试了很多方法,但没有成功。 func captureOutput(captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) { let pixelBuffer: CVPixelBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer)! CVPixelBufferLockBaseAddress(pixelBuffer, 0) let baseAddress = CVPixelBufferGetBaseAddress(pixelBuffer) //Get individual pixel values here CVPixelBufferUnlockBaseAddress(pixelBuffer, 0) }