在Swift中使用谓词

我正在通过这里的教程(学习Swift)为我的第一个应用程序: http : //www.appcoda.com/search-bar-tutorial-ios7/ 我被困在这部分(Objective-C代码): – (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText]; searchResults = [recipes filteredArrayUsingPredicate:resultPredicate]; } 任何人都可以build议如何在Swift中创buildNSPredicate的等价物?

在iOS中从数据数组创buildcsv文件

我想从sql文件写入数据到csv文件。 我已经从一个数组中的sql文件中收集所有数据,并使用for循环我附加和写入数据到.csv文件。 但它似乎只显示一行中的数据,只是不去新行创build新行。 我已经使用这个参考。 这是我的代码: -(NSString *)dataFilePath { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; return [documentsDirectory stringByAppendingPathComponent:@"myfile.csv"]; } – (IBAction)saveAsFileAction:(id)sender { if (![[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) { [[NSFileManager defaultManager] createFileAtPath: [self dataFilePath] contents:nil attributes:nil]; NSLog(@"Route creato"); } NSString *writeString; for (int i=0; i<[dataArray count]; i++) { writeString = [NSString stringWithFormat:@"%@, […]

适用于iOS5的FFmpeg

有没有人能够使用iOS5 sdk编译ffmpeg库? 我发现脚本使用4.3 sdk,但没有iOS5的。 我假设用sdk和armv7构build的库仍然可以兼容iOS 5。 这是我试图使用的命令: ./configure \ –cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \ –as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \ –sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk \ –extra-ldflags=-L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/system \ –target-os=darwin \ –arch=arm \ –cpu=cortex-a8 \ –extra-cflags='-arch armv7' \ –extra-ldflags='-arch armv7' \ –prefix=compiled/armv7 \ –enable-pic \ –enable-cross-compile \ –disable-armv5te \ –disable-ffmpeg \ –disable-ffplay \ –disable-ffserver \ –disable-ffprobe \ –disable-doc 我也尝试使用这样的脚本: #!/bin/tcsh -f if (! -d armv7) mkdir […]

Facebook iOS SDK是否要求用户每次使用应用程序时进行身份validation?

正如facebook-ios-sdk自述文件中所述,我的应用程序在执行任何API调用之前调用Facebook#authorize:delegate:。 此方法要求用户进行身份validation(在Facebook应用程序或Safari中),然后将控制权重回到我的iPhone应用程序。 问题是每次我调用方法时都会要求用户进行身份validation。 如果他们已经授予我的应用程序的权限,他们会收到一条消息,说该应用程序已经被授权,他们必须按Okay才能返回到我的应用程序。 它看起来不是很专业。 所以我有两个问题: 用户是否必须重新授权才能进行Facebook通话? 我一直认为它会把访问令牌保存在某个地方,也许在用户的默认情况下,这样你就不需要重新授权了。 如果用户不必每次重新授权,有没有办法检查我的应用程序是否已经有权限,所以用户不必看到这个消息,然后按OK。

(Scale)在一个点放大到一个UIView

一些我不了解转换的东西。 我想放大说一个UIView(主视图)的右上angular。 我使用CGAffineTransformScale并试图设置中心/ anchorPoint以及CGAffineTransformMakeTranslation无济于事。 我无法弄清楚如何正确设置翻译,以便放大这一点。 CGAffineTransform tr = CGAffineTransformScale(self.view.transform, 2, 2); [UIView animateWithDuration:2.5 delay:0 options:0 animations:^{ self.view.transform = tr; self.view.center = CGPointMake(480,0); } completion:^(BOOL finished) {}];

从BLE设备读取数据

我试图从蓝牙设备(BR-LE4.0-S2)读取数据。 我能够连接BLE设备,但是无法从中读取数据。我没有任何有关BLE服务的规范和特性。 这里我的问题是- (void)peripheral:didUpdateValueForCharacteristic:error:没有得到调用。 我遵循教程“ https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/PerformingCommonCentralRoleTasks/PerformingCommonCentralRoleTasks.html#//apple_ref/doc/uid/TP40013257-CH3-SW2 ”。以下是我的码。 我的要求是从BLE设备连续读取数据。 任何帮助是极大的赞赏。 – (void)viewDidLoad { self.myCentralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; self.peripheral = [[CBPeripheral alloc] init]; self.peripheral.delegate = self; [super viewDidLoad]; } – (void) centralManagerDidUpdateState:(CBCentralManager *)central { switch (central.state) { case CBCentralManagerStatePoweredOn: [self.myCentralManager scanForPeripheralsWithServices:nil options:nil]; break; default: NSLog(@"Central Manager did change state"); break; } } – (void)centralManager:(CBCentralManager *)central […]

核心animationCALayer掩盖animationperformance

我们想在我们的iPhone应用程序中使用UITabBar,但有一个例外:我们有一个“同步”button,我想在同步操作发生时旋转。 不幸的是,这意味着必须创build一个自定义选项卡栏,但这不是在这里,也不在那里:我使用Core Animation实现的animation看起来很棒。 问题是,虽然animation,它会影响其他一切在屏幕上使用animation的性能:UITableView滚动,MKMapView平移和引脚滴等我的testing设备是iPhone 4。 这个问题似乎是我已经实现了标签栏 – 我想实现与UITabBar非常相似的地方,在那里你只需要为图标提供一个PNG,并且它使用alpha通道来创build正常的和突出显示的状态,通过屏蔽背景图片。 我用CALayer的mask属性完成了这个工作: // Inside a UIView subclass' init method… // Create the mask layer by settings its contents as our PNG icon. CALayer *maskLayer = [CALayer layer]; maskLayer.frame = CGRectMake(0, 0, 31, 31); maskLayer.contentsGravity = kCAGravityCenter; maskLayer.contentsScale = [[UIScreen mainScreen] scale]; maskLayer.rasterizationScale = [[UIScreen mainScreen] scale]; maskLayer.contents = […]

与iOS的Xcode – 创build一个易于在debugging模式下运行的库,分发,迭代

这是Xcode 4.5.x iOS armv7 armv7s以及关于Xcode项目设置/项目构build设置的模拟和特殊说明: 我有一个应用程序商店中的应用程序“A”。 我有一个项目“B”,它是一个库,将作为依赖项用于A,而且还作为第三方库分发给其他公司在其应用程序中使用。 (其他公司的第三方应用程序在这种情况下表示为“Y”)。 这是要求: 必须能够在debugging模式下运行“A”,当然也可以在同一个build / session中同时debugging嵌套的“B”项目。 从“A”我可以CMD +点击从“B”的方法签名,并跳转到该src文件,我可以自由编辑,然后重新编译,就好像它是从同一个项目。 其他公司的开发者“X”必须能够容易地把我们的库“B”拖到他的项目“Y”中,其中“B”是一个静态库,只有需要的头文件被公开。 “Y”当然是从“B”的实际头文件的子集调用方法。 只有来自这个子集的文件应该包含在Dev“X”的发行版中。 在他的Xcode项目中,Dev“X”根本不需要修改任何东西,只需将“B”(包含静态库和头文件子集)的文件夹拖到他的项目中,然后单击“复制资源,创build引用等等”。 我需要能够很容易地生成“B”的静态库版本,基于我一直在编辑这整个时间的相同文件,因为我在其依赖项目“A”中迭代和debugging此项目“B”。 除了源代码之外,“B”没有资源 – 没有图像资产,xib或类似的东西。 从“B”,我点击“存档”和Poof! 有一个静态库(必须是胖二进制文件,我的意思是它可以在模拟器上运行+ armv7 + armv7s ,请!!)与必要的头文件准备分发。 所有这一切都必须是应用程序商店审批 –友好 这也必须是可靠的。 如果每次添加一个文件,都必须不断地重新进行configuration更改,这是不好的。 更新: * 最重要的是 :这需要一个回购我可以看看,这是一个完整的端到端的模板,寻找什么,我需要能够打开Xcode 4.5.2 +,然后点击播放,看到这个东西build立,无痛苦。 500分给任何能够提供给我一个模板项目的人,这个项目演示了我上面描述的一切,“A”,“B”和“Y”(带有“B”静态库作为dep)。 我所需要的是一组骨架项目(“A”,“B”(嵌套在“A”中)和“Y”),它们显示了如何做到这一点。 请等到赏金发布后再回答。 如果它符合我的要求,我会确保你得到我的赏金点。 我有些担心,有了Xcode的限制,这是不可能的方式不是一个完整的麻烦。 请certificate我错了。 更新:我决定我不在乎armv6了。 再见,armv6。 额外的功劳,如果你可以得到armv6随着armv7,armv7s,i386 /模拟器卷到dist输出。 PS我保证我会合理地授予积分。 我不打算在技术上阻止他们。 如果你在这个领域让自己的生活变得不那么痛苦,我会很乐意给你奖励。

使用CocoaPods的多个应用程序的项目/工作区结构

我即将迁移我的应用程序使用CocoaPods 。 我目前的目录结构如下图所示。 我有一个包含3个项目( ipad , ipod , common )的工作区。 在ipad和ipod项目中都有一些构build目标,这些目标依赖于common项目。 MyGreatApp | +– MyGreatApp.xcworkspace | +– ipad | | | +– ipad.xcodeproj | +– (source code) | +– ipod | | | +– ipod.xcodeproj | +– (source code) | +– common | +– common.xcodeproj +– (source code) 我的问题是,我应该如何迁移到CocoaPods? 它看起来像CocoaPods为您创build的每个Podfile创build一个新的工作区。 我想保留我的3个项目的工作空间结构,因为它看起来好像把所有东西保存在一起。 我是否应该为每个项目创build一个Podfile ,其中包含通用项目的目标和Specfile ? 那么如何在XCode中设置?

UIView透明渐变

鉴于iOS上的任意UIView,有没有一种方法使用核心graphics(CAGradientLayer想到)应用“前景透明”的梯度呢? 我不能使用标准的CAGradientLayer,因为背景比UIColor更复杂。 我也不能叠加一个PNG,因为当我的子视图沿着它的父级垂直滚动视图(见图)滚动时,背景将会改变。 我有一个非优雅的回退:有我的uiview剪辑其子视图,并随着父滚动视图滚动而移动背景的预先呈现的渐变png。