如何在Swift中获得前置摄像头?

我正试图让现场观看的前置摄像头。 我能够使用后面的相机: var backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) 但我似乎无法find如何获得前置摄像头。 如何更改上面的代码以使用前置摄像头?

内部有资源的IOS静态框架

我试图创build一个框架,保持我在项目中使用的一些常见的代码。 我发现在线教程,并设法创build一个框架,但我仍然有一个问题有关的资源(xibs,图像等)。 比方说,我有一个MainViewController.xib ,它有一个使用test.png的UIImageView 。 所有这些都在我的框架包。 当我在另一个项目中使用框架时,我将它添加到“复制束资源”构build阶段。 问题是xib只能使用类似dummy.framework/Resources/MainViewController.xib的path访问,而UIImageView里面无法加载test.png 。 看来,UIImageView将尝试从软件包的根目录加载png,而不是从xib也存储在其中的相对文件夹中加载。 有没有人设法创build一个框架的代码和资源,并在另一个项目中使用它?

核心数据无法为获取PerPantmanID后的对象填充故障

我从Web服务器获取数据,在名为backgroundMOC的子私人背景上下文中处理数据。 这是一个mainMOC链接到主UI的孩子,所以保存在backgroundMOC触发UI变化。 mainMOC是mainMOC的子级,它是一个与持久性存储绑定的私有后台队列,因此在master上保存到磁盘。 我现在所做的就是接收数据,在backgroundMOC上创build新的对象,然后保存backgroundMOC (以便更新UI),保存mainMOC (这样我几乎可以保存到磁盘),并保存masterMOC (这样我可以最终写入磁盘)。 问题是,当对象通过提取结果控制器出现在UI中时, objectId仍然是临时的。 这会导致重复的行问题,如果我从服务器(偶然)收到相同的数据,我的backgroundMOC不知道这个对象已经存在,因为它没有被分配一个永久的id,所以它创build另一个对象。 当我重新启动应用程序,重复的对象消失,所以我知道这只是一个问题与id映射。 所以我想我可能会尝试 [backgroundMOC obtainPermanentIDsForObjects:backgroundMOC.registeredObjects.allObjects error:nil]; 保存之前(我已经尝试保存之后)。 但是,由于某种原因,调用这一行将引发exception: CoreData could not fulfill a fault for… 如果您有任何提示可能会导致我正确的方向,请分享。 谢谢 编辑:好的,所以最初我在调用backgroundMOC上的obtainPermanentIDsForObjects,它是mainMOC的子元素,它是masterMOC的子元素。 我把它切换,以便获得mainMOC上的id,并解决了我所有的问题(现在)。 我是不是应该在子上下文中调用obtainPermIds?

有没有办法创build一个NSDecimal而不使用NSNumber和创build自动释放对象?

我正在使用NSDecimal进行一些计算,并使用以下技术创build每个NSDecimal结构: [[NSNumber numberWithFloat:kFloatConstant] decimalValue] 我正在使用NSDecimal来避免使用自动释放的NSDecimalNumber对象(如果使用NSDecimalNumber方法来精确计算)。 但是,似乎NSNumber创build机制也返回提取十进制值的自动释放的NSNumber 。 有没有办法创build一个NSDecimal而不使用NSNumber和创build自动释放对象?

在Swift中inheritancePFObject

用于在PFObject子类上添加属性和方法的Parse文档可方便地跳过其示例代码清单中的Swift语法,只是Objective-C语法: https://parse.com/docs/ios_guide#subclasses-properties/iOS // Armor.h @interface Armor : PFObject<PFSubclassing> + (NSString *)parseClassName; @property (retain) NSString *displayName; @end // Armor.m @dynamic displayName; 有没有人想出了Swift缺乏dynamic合成器的工作,以便用PFSubclassing实现属性和方法? 我希望能够做到这样的事情: class Armor : PFObject, PFSubclassing { class func parseClassName() -> String! { return "Armor" } } var armor = Armor() armor.displayName = "Iron Clad"

两个UITableView在同一视图中

我想知道是否允许在同一个视图中使用多个UItableView (我没有看到苹果的人机接口指南中的任何东西),如果没关系,如何在每个UITableView viewDidLoad加载不同的DataSource ?

Base64通过HTTP POST丢失数据(Objective-C)

我目前有一个HTTP POST请求和一个Base64编码库,我编码我的图像到B64然后发送通过HTTP通过POST方法。 我输出Base64到XCodes控制台,复制并粘贴它,它完美的工作。 尽pipe数据库中的Base64 I存储(MongoDB,纯文本文件等)总是在另一端损坏。 工作版本(复制并从XCode粘贴): http : //dontpanicrabbit.com/api/working.php破碎的版本(来自MongoDB数据库): http : //dontpanicrabbit.com/api/grabimage.php 如果您查看源代码,您会注意到它们是相同的,但是在破损的版本中添加了空格。 我正在使用的Objective-C代码是: MyImage.image = [info objectForKey:UIImagePickerControllerOriginalImage]; NSData *imageData = UIImageJPEGRepresentation(MyImage.image, 0); [Base64 initialize]; NSString *encoded = [Base64 encode:imageData]; NSString *urlPOST = encoded; //NSLog(@"%@",encoded); NSString *varyingString1 = @"picture="; NSString *varyingString2 = urlPOST; NSString *post = [NSString stringWithFormat: @"%@%@", varyingString1, varyingString2]; NSLog(@"%@", post); //NSString *post […]

Xcode 9 Swift语言版本(SWIFT_VERSION)

我最近更新了xcode到版本9.之前,在Xcode 8.x中,每当我使用pod update它会显示一个更新代码,将代码转换为Swift 3,并解决错误。 但现在它给了我这个错误: 必须将“Swift语言版本”(SWIFT_VERSION)版本设置设置为支持使用Swift的目标值。 该设置可以在构build设置编辑器中设置。 对于这个错误,我试过Build Settings > Swift Language Version ,它是Swift 3.2但是,作为更新调用已重新安装一些像Alamofire豆荚,它说要安装Xcode 8.x将代码转换为Swift 3我是否需要安装最新版本的Xcode? 如果是的话,那么我怎样才能用Xcode 9安装Xcode 8?

在Sprite工具包中加载.tmx(Tiled Map)?

在iOS 7的Sprite Kit中加载.tmx文件有没有(最好是简单的方法)? 如果没有,有没有其他的select?

在Xcode中设置前置摄像头

在Xcode中设置前置摄像头。 我怎样才能做到这一点? 在Xcode中设置前置摄像头。 AVCaptureSession *session = [AVCaptureSession new]; if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) [session setSessionPreset:AVCaptureSessionPreset640x480]; else [session setSessionPreset:AVCaptureSessionPresetPhoto]; AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error]; require( error == nil, bail ); isUsingFrontFacingCamera = NO; if ( [session canAddInput:deviceInput] ) [session addInput:deviceInput]; stillImageOutput = [AVCaptureStillImageOutput new]; [stillImageOutput addObserver:self forKeyPath:@"capturingStillImage" options:NSKeyValueObservingOptionNew context:AVCaptureStillImageIsCapturingStillImageContext]; […]