Articles of 迅速

Google API关键问题

我正在开发一个应用程序,我需要从Google Places API中查询地点,并将最近的地方保存到用户的Google帐户(他们通过GIDSignINlogin到应用程序)。 Places API在控制台中被激活,并且它们的关键字是正确的,但是,URL可能有问题,并且我不断收到此错误… 可选([“error_message”:该IP,站点或移动应用程序无权使用此API密钥。从IP地址2607:f598:b349:fd01:94f8:7386:d82c:1b29收到的请求,为空引用者, “:(),”status“:REQUEST_DENIED,”html_attributions“:()]) 被调用来查询API的方法,当前经纬度来自位置pipe理器(工作正常) func saveCurrentLocation() { //API CALL let latString = String(currentLat) let longString = String(currentLong) let apiString = NSString(format: "https://maps.googleapis.com/maps/api/place/search/json?location=%f,%f&radius=500&types=food&sensor=true&key=AIzaSyDH0jNx1WJw0pkCzbc0xaHumDoDAYYWvtk", latString, longString) let url = NSURL(string: apiString as String) let session = NSURLSession.sharedSession() let dataTask = session.dataTaskWithURL(url!) { (data, response, error) -> Void in if let urlContent = data […]

string编码 – Swift

我正在使用下面的方法来编码一个string在目标 – C: +(NSString*)urlEncoded:(NSString*)string { return ((NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes (NULL,(CFStringRef)string, NULL,(CFStringRef)@"! '=();@&+$%#",kCFStringEncodingUTF8 )));} Swift 2.0中有这个方法吗? 我尝试过使用堆栈中的很多解决scheme,但是没有一个可以解决我的问题。

AVAudioPlayer在后台没有响应

当我的应用程序收到voip通知时,我在后台播放audio。 但AVAudioPlayerperformance怪异,有时会播放audio,有时并非没有任何错误。 多数民众赞成我是如何玩: func playAudio() { // Set the sound file name & extension let alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("testAudio", ofType: "wav")!) // Play the sound do { try audioPlayer = AVAudioPlayer(contentsOfURL: alertSound) audioPlayer.delegate = self if (audioPlayer.prepareToPlay()) { audioPlayer.play() } else {NSLog("there is error")} } catch { NSLog("there is \(error)") } } 我在我的AppDelegate应用程序函数中初始化AVAudioSession: do { […]

在没有互联网连接的情况下,从数据库使用iOS应用程序中

我有一个由200张照片组成的SQLite数据库,我打算在iOS应用程序中使用(每次只能显示一张照片)。 这是从我的研究理解,将这些图像存储在数据库中不是最好的做法。 我知道我怎么能存储的URL(这将解决一些编程问题,我有),但我真的不希望应用程序要求互联网连接。 还有其他的方法,还是我误解了一些东西?

textField shouldChangeCharactersInRange在用户操作之后执行一步

我有一个用户input电子邮件地址的textField 。 我想在input文本成为有效的电子邮件地址时激活提交button。 validation工作,但shouldChangeCharactersInRange中的代码似乎执行一步后面的用户input。 所以当电子邮件有效时,用户在button改变之前还必须敲击另一个键。 同样,如果电子邮件地址变为无效,button不会改变,直到再次点击一个密钥。 请注意,这也发生在设备上,而不仅仅是在模拟器中。 代码如下: func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) { if emailIsValidFormat(textField.text) { emailSubmitButton.alpha = 1 } else { emailSubmitButton.alpha = 0.4 } }

如何在Swift中使用NSCoding存储从ViewController生成的值

我有“ScoreHistory.swift”中的以下variables: // ScoreHistory.swift class ScoreHistory: NSObject, NSCoding { var datePlayed: NSDate var totalScore: Int var totalAnswered: Int var totalDuration: Int var gameStatus: String 在我的QuizViewController中,我有以下variables: // QuizViewController.swift var datePlayed = NSDate() var totalScore = 0 var totalAnswered = 0 var totalDuration = 0 var gameStatus: String? 每场比赛后,用户可能会得到以下内容:(将显示在“ScoreViewController”) // Example data datePlayed: (date today) totalScore: 10 totalAnswered: […]

Google Analytics(分析)初始化后,viewController.title为零

我遵循Google分析文档将其添加到我的快速应用程序 我已经做了所有那些在那里说,但我的代码在运行时失败。 这是我在AppDelegate中的代码: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { loadGoogleAnalytics() chooseAndLuanchStoryboard() initMembersAfterViewControllerInit() return true } func loadGoogleAnalytics() { // Configure tracker from GoogleService-Info.plist. var configureError:NSError? GGLContext.sharedInstance().configureWithError(&configureError) assert(configureError == nil, "Error configuring Google services: \(configureError)") // Optional: configure GAI options. let gai = GAI.sharedInstance() gai.trackUncaughtExceptions = true // report uncaught exceptions […]

Xcode更新6.1.1后生成失败

我更新xcode从6.1到6.1.1,当我尝试构build我的iOS应用程序,它失败。 var url = NSURL.URLWithString("https://my.domain.com") 这行不会抛出错误的xcode 6.1,但自更新以来,我必须replace这一行: var url = NSURL(fileURLWithPath: "https://my.domain.com") 此外,使用此url的请求不再有效。 如果有人有任何解释。 谢谢

从Firebase和Swift查询中获取信息

var usernameEntered = self.textField.text! var databaseReferenceQuery = DataService.ds.REF_USERS.queryOrderedByChild("username").queryEqualToValue(usernameEntered).observeSingleEventOfType(.Value, withBlock: { (snapshot) in if ( snapshot.value is NSNull ) { } else { print(snapshot.key) print(snapshot.value.) } }, withCancelBlock: { (error) in // An error occurred }) } 这是我得到的。 我的firebase数据库设置如下: Users 20394802938lsjfkjaweli (the uid) username: Bob 0skjflakjlkwjf93j09 username: Bobby 通过运行该查询,我正在通过用户名进行search,并检查它是否等于input到文本字段中的内容。 当我做一些像print(snap.value)的时候,我得到了“username:(无论我把它放在文本字段,如果它匹配一个用户名) 我需要的是能够阻止与该用户名关联的用户标识。 使用snapshot.key为我提供了“用户”。 我如何获得低于一个级别?

致命错误:值无法从Swifttypes桥接到Objective-Ctypes

我想使用新的NSBatchUpdateRequest写入一些信息到Core Data ,并不能找出为什么我得到这个错误。 有人能解释这里发生了什么吗? 这听起来像我有麻烦将Swift转换为Objective-Ctypes值? fatal error: value failed to bridge from Swift type to Objective-C type 这里是我的代码块,错误发生在: func updateUser(user: User) { var batchRequest = NSBatchUpdateRequest(entityName: "User") if doesUserExist(user.userId) { batchRequest.predicate = NSPredicate(format: "userId == %@", user.userId) } batchRequest.propertiesToUpdate = [ "userId" : user.userId, "username" : user.username, "email" : user.email, "fullName" : user.fullName, "gender" : […]