ARC圆形保留检测

我移植了一些旧的代码到Objective-C ARC(自动引用计数),它似乎很好。 除了一个相当大的高级对象,当它从我的导航栈中popup时,并没有被释放,这让我相信我有一个保留循环的地方,ARC对我隐藏起来(或者至less难以追踪)。 什么是最好的方法来淘汰这个潜在的保留周期和/或什么是一个好方法来确定在ARC下的内存泄漏的原因? 谢谢!

尝试从苹果发现错误的示例AVCAM

当我尝试使用Xcode版本9.0testing版5(9M202q)的示例AVCAM迅速。 我发现错误。 架构x86_64的未定义符号: “__T0So22AVCapturePhotoSettingsC12AVFoundation01_abC16SwiftNativeTypesACWP”,引用自:__T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_ CameraViewController.o “__T012AVFoundation39_AVCapturePhotoSettingsSwiftNativeTypesPAAE016availablePreviewc11PixelFormatG0Says6UInt32VGfg”,从引用:在CameraViewController.o LD __T05AVCam20CameraViewControllerC12capturePhoto33_F53A4CF98D799BDDCA6C04BA14C549A1LLySo8UIButtonCFyycfU_:符号(多个)未find架构x86_64的铛:错误:连接器命令,退出代码1失败(使用-v看调用) 问题是什么? 以及如何解决这个问题?

如何检测来电编程

我需要我的应用程序发送通知时,有一个电话(来电,连接,通话结束)我注册我的viewController与通知。 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callReceived:) name:CTCallStateIncoming object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callEnded:) name:CTCallStateDisconnected object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callConnected:) name:CTCallStateConnected object:nil]; 我也做了一个方法来检查通话状态 -(IBAction)checkForCall:(id)sender{ NSLog(@"call state %@ id %@",call.callState,call.callID); CTCallCenter *callCenter = [[CTCallCenter alloc] init]; callCenter.callEventHandler = ^(CTCall* call){ if (call.callState == CTCallStateDisconnected) { NSLog(@"Call has been disconnected"); } else if (call.callState == CTCallStateConnected) { NSLog(@"Call has just […]

iOS检测用户的移动

我想创build一个简单的应用程序,当我从一个起点到终点,例如从a(0,0)到b(0,10),从Y轴移动手机到屏幕上画一条简单的线时,请帮忙 演示:

本地通知在后台

任何人都可以告诉我如何得到一个UILocalNotification而我的应用程序是在后台。 我在这里发布我的代码。 提前致谢。 UILocalNotification *localNotif = [[UILocalNotification alloc] init]; if (localNotif == nil) return; localNotif.fireDate =[startDate addTimeInterval:60]; NSLog(@"%@",localNotif.fireDate); localNotif.timeZone = [NSTimeZone defaultTimeZone]; localNotif.alertAction = @"View"; localNotif.soundName = UILocalNotificationDefaultSoundName; NSString *notifStr=[NSString stringWithFormat:@"Hey looks like you're meeting up with %@, why don't you let your other friends know what fun they're missing out on? Share a photo […]

在Objective-C中运行时检测并使用可选的外部C库

我正在构build一个iPhone开发人员可以在他们的项目中包含的SDK。 它以编译的“.a”forms提供,没有源代码。 我们打电话给我的SDK“AAA”。 他的项目中的客户(我们称之为“BBB”)除了使用AAA之外,还可能使用称为“CCC”的第三方库,该库也是预编译的,是闭源的。 我不卖CCC,这是一个不同的公司。 我的SDK(AAA)可以select使用CCC来改进产品,使用这些第三方function。 例如,让我们说CCC是一个安全的SDK来encryption的东西。 AAA不需要CCC,但如果客户select将CCC纳入其项目中,AAA也将更安全。 现在这里是一个额外的棘手的部分 – CCC库,纯C代码,由C结构和C函数 – 没有任何面向对象。 问题是: 我如何编译我的AAA SDK以使用CCC中的函数/结构体,而不在我的项目中包含CCC(未经法律允许,并且不希望跟上版本更新)。 我如何检测客户是否在他的项目中有CCC,只有在可用时才使用这些额外function?

获取UITextView中单词的X和Y坐标

我问了一个开发者(CodeLa的创build者TwoLivesLeft),他们在应用程序中是如何进行语法高亮显示的。 他回答 : @ TD2 Codea编辑器是使用UITextView实现的。 突出显示是通过在适当的位置叠加子视图来完成的 – 通常是UILabels。 他们从重用池中出列,类似于UITableViewCells的工作方式。 在滚动期间,需要重新突出显示的行将标记从池中拉出,并且已经移出屏幕的行将标记转储回池中。 任何人都可以解释我将如何得到某个单词的x和y?

带有静态库的iOS应用程序总是在启动Ad Hoc Archive Build时崩溃。 无法在Xcodedebugging器中重现

我们有一个使用静态库构build的应用程序,我们也在为分发而构build。 App和Lib在Xcodedebugging器中运行正常,或者通过Xcodedebugging会话在设备上加载。 一旦我们把设备上的Ad Hoc Archive构build起来,应用程序总是崩溃。 控制台日志语句表明它在Lib代码中崩溃,但崩溃报告不符号化Lib代码。 无法在Xcode模拟器中重现。 Guard malloc,Guard Edge不显示任何东西(但是这些只能在模拟器中运行)。 没有泄漏 使用Xcode 4.3.2 应用目标4.3或更高版本。 Lib目标3.0或更高版本。 其他链接器标志= -ObjC 在目标“与库链接二进制文件”中将Lib设置为“可选” 拇指支持closures(使用LLVM) 在控制台上看到2个可能有用的例外,但是到目前为止,还没有在networking上做出任何有助于这个事情的东西: Application 'x' exited abnormally with signal 12: Bad system call: 12 (mostly) Application 'x' exited abnormally with signal 12: Bad system call: 11 (rarely) 我们看到其他地方的评论说,recursion静态库有问题。 但是我们的Lib没有任何recursion。 难住,需要更多的想法。

iOS的animation/变形形状从圆形到方形

我试图把一个圆圈变成一个正方形,反之亦然,我快到了。 然而它并不像预期的那样animation。 我希望广场的所有angular落都能同时进行animation/变形,但我得到的是以下内容: 我使用CAShapeLayer和CABasicAnimation为了animation形状属性。 以下是我如何创build圆path: – (UIBezierPath *)circlePathWithCenter:(CGPoint)center radius:(CGFloat)radius { UIBezierPath *circlePath = [UIBezierPath bezierPath]; [circlePath addArcWithCenter:center radius:radius startAngle:0 endAngle:M_PI/2 clockwise:YES]; [circlePath addArcWithCenter:center radius:radius startAngle:M_PI/2 endAngle:M_PI clockwise:YES]; [circlePath addArcWithCenter:center radius:radius startAngle:M_PI endAngle:3*M_PI/2 clockwise:YES]; [circlePath addArcWithCenter:center radius:radius startAngle:3*M_PI/2 endAngle:M_PI clockwise:YES]; [circlePath closePath]; return circlePath; } 这是方形path: – (UIBezierPath *)squarePathWithCenter:(CGPoint)center size:(CGFloat)size { CGFloat startX = center.x-size/2; CGFloat […]

如何在Swift中使用Storyboard在UITabBarController中使用导航控制器

我正在使用swift。 我想在StoryBoard中使用TabBar内的导航。 首先,第一个显示出现在标签菜单内。 但是当我移动到第二个显示,第二个显示没有标签菜单显示。 我select了segue type“show(egPush)” 如何在所有视图上继续显示标签菜单?