当应用程序在后台运行/挂起时继续倒数计时器

我有一个function倒计时器。 问题是我需要在用户将应用程序放在后台时继续倒计时。 或暂停应用程序? 我不确定用什么正确的术语来描述这个动作。 换句话说,用户打开应用程序并开始倒计时。 用户应该可以使用其他的应用程序,但倒计时仍然运作。 此外,倒计时应能够永久运行,直到完成或用户终止运行应用程序。 这里是我的计时器的代码: class Timer{ var timer = NSTimer(); // the callback to be invoked everytime the timer 'ticks' var handler: (Int) -> (); //the total duration in seconds for which the timer should run to be set by the caller let duration: Int; //the amount of time in seconds […]

写入和读取自定义对象到文件IOS

我有这个对象。 @interface SeccionItem : NSObject <NSCoding> { NSString * title; NSString * texto; NSArray * images; } @property (nonatomic,strong) NSString * title; @property (nonatomic,strong) NSString * texto; @property (nonatomic,strong) NSArray * images; @end 有了这个实现 @implementation SeccionItem @synthesize title,texto,images; – (void) encodeWithCoder:(NSCoder *)encoder { [encoder encodeObject:title forKey:@"title"]; [encoder encodeObject:texto forKey:@"texto"]; [encoder encodeObject:images forKey:@"images"]; } – (id)initWithCoder:(NSCoder […]

Swift iOS:如何使用button触发下一页

我有一个QuizViewController它扩展了UIViewController , UIPageControllerDelegate和一个UIPageViewControllerDataSource 。 里面QuizViewController.swift private var pageViewController: UIPageViewController? private func createPageViewController() { let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("QuizPageViewController") as! UIPageViewController pageController.dataSource = self if pageInfo.count > 0 { let firstController = getItemController(0)! let startingViewControllers: NSArray = [firstController] pageController.setViewControllers(startingViewControllers as? [UIViewController], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil) } pageViewController = pageController addChildViewController(pageViewController!) self.view.addSubview(pageViewController!.view) pageViewController!.didMoveToParentViewController(self) } private func […]

如何使用ZipKit在iOS中压缩目录?

我需要在iOS应用程序中压缩我的“文档”文件夹的子目录。 在咨询Google和其他SOpost之后,我发现ZipKit和ZipArchive是两个提供此function的开源项目。 在这一点上,我select实现ZipKit,因为它似乎比ZipArchive维护得多。 我已经find了如何解压压缩文件的例子,但一直没能find一个如何将目录压缩成.zip文件的例子。 我已经尝试了下面的代码,它返回了一个成功的结果状态,但实际上没有生成zip文件。 // projectPath is /Documents/projects/myproject ZKDataArchive *archive = [[ZKDataArchive alloc] init]; NSInteger result = [archive deflateDirectory:projectPath relativeToPath:nil usingResourceFork:NO]; 我敢肯定,有一些基本的东西我做得不对,但还没有弄清楚它是什么。 特别是,我还没有弄清deflateDirectory的每个参数的含义: 如果任何人都可以指出我正确的方向(或有其他build议在iOS上压缩目录),我将不胜感激。 谢谢!

Xcode 7不用c ++框架构build项目

我不能用一个新版本的opencv 3.0.0框架来构build项目(版本2没有这个问题)。 Xcode 7不会将c ++源代码编译为c ++。 这是最简单的设置,不是build立: 从这里下载3.0.0框架http://netix.dl.sourceforge.net/project/opencvlibrary/opencv-ios/3.0.0/opencv2.framework.zip 用Swift语言创build最简单的ios项目。 将框架拖放到项目中。 创buildObjective-C++源代码和头文件并将其添加到项目中。 创build桥接头。 这是设置: build立。 这是编译器所说的: opencv2.framework/Headers/core/base.hpp:49:4: error: base.hpp header must be compiled as C++ 这是为什么? 我有.mm文件,它应该编译为Objective-C ++源代码。

游戏从后台快速恢复后退出暂停状态

我正在开发一个SpriteKit游戏,可以在执行过程中暂停,可以继续。 但是当游戏暂停时按下homebutton时,我遇到了applicationDidEnterBackground的问题,因为当我恢复游戏时,即使游戏之前暂停,实体也会立即开始移动。 我找不到在AppDelegate实现applicationDidEnterBackground和其他相关方法的方法,因为它和我的GameScene.swift之间没有连接 我实际上是用代码暂停实体 entitiesLayerNode.paused = true gameState = .GamePaused 编辑: 我想明确地暂停entitiesLayerNode因为我有其他'移动'节点,我想保留。 问题是,在下面给出的build议,方法暂停一切! 我只需要暂停该图层。 我认为这个问题是我无法从视图控制器访问entitiesLayerNode 。 我通常使用片段 let mainScene = scene as GameScene mainScene.entitiesLayerNode.pause = true 但Xcode给了我一个错误,那个scene是一个无法parsing的标识符。

Swift:如何将点添加到封闭的CGPath?

我想让SKSpriteNodes沿着字母轮廓移动。 我有很多字母,但这里有一个例子: 我希望这个精灵跟着红线。 我发现这个答案主要涵盖了我的问题: 获取path在iOS UIFont中追踪一个字符 答案来自这个良好的工作示例代码: let font = UIFont(name: "HelveticaNeue", size: 64)! var unichars = [UniChar]("P".utf16) var glyphs = [CGGlyph](count: unichars.count, repeatedValue: 0) let gotGlyphs = CTFontGetGlyphsForCharacters(font, &unichars, &glyphs, unichars.count) if gotGlyphs { let cgpath = CTFontCreatePathForGlyph(font, glyphs[0], nil)! let path = UIBezierPath(CGPath: cgpath) print(path) XCPlaygroundPage.currentPage.captureValue(path, withIdentifier: "glyph \(glyphs[0])") } 然而,我仍然遇到一个问题,因为我的精灵并没有完成所有字母的字母的完整path,而是例如在这里“P”停止(从底部开始): 我尝试添加一些点,如下所示: CGPathAddLineToPoint(path, […]

在iOS中抓取Facebook好友时出错

我试图获取login用户的Facebook好友列表,它在我的帐户中工作正常,但是当我将应用程序的详细信息迁移到一个新的帐户,并更改应用程序ID和应用程序的秘密我收到以下错误 Error Domain=com.facebook.sdk Code=5 "The operation couldn't be completed. (com.facebook.sdk error 5.)" UserInfo=0xf89c0b0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ParsedJSONResponseKey={ body = { error = { code = 100; message = "(#100) Unknown fields: username."; type = OAuthException; }; }; code = 400; }, com.facebook.sdk:ErrorSessionKey=<FBSession: 0xe5a6c30, state: FBSessionStateOpen, loginHandler: 0xe58d5a0, appID: 705259966179163, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xf87b180>, expirationDate: 4001-01-01 00:00:00 +0000, […]

如何通过MPMoviePlayerController |添加UIImageView iOS | 目标C

我有一个使用MPMoviePlayerController显示video的控制器。 我需要在video上放置一个图片。 我想用下面的代码,但它不显示。 我错过了什么? // method to play the video – (void)playVideoInLoopMode:(BOOL)loop { NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myvideo" ofType:@"m4v"]]; MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url]; mp.controlStyle = MPMovieControlStyleNone; if (loop) { mp.repeatMode = MPMovieRepeatModeOne; } mp.view.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height); self.player = mp; [self.view addSubview:self.player.view]; [self.player prepareToPlay]; [self.player play]; } // method […]

如何在iOS中获取当前的连接WiFi频道(频率)?

我想知道如何获得iOS中的WIFI频道和频率信息。 最好不要从私有API中获取(因为我需要将它提交给iTunes Store)。