草庐IT

objc_exception_throw

全部标签

ios - 从一个静态库导出“OBJC_CLASS”作为另一个库的一部分

我想创建一个静态库(实际上是一个框架,但是我知道该怎么做)将其他静态库中的代码捆绑在一起。但是,从原始库导出的OBJC_CLASS最终以未定义符号表示。例如,在Xcode5.1.1中(除非另有说明,否则在每个步骤中都使用默认设置/选择):创建一个名为LibA的新“iOS框架和库CocoaTouch静态库”项目。构建(对于模拟器或真实设备,都没有关系)。创建另一个新的名为LibB的“iOS框架和库CocoaTouch静态库”项目。将libLibA.a从LibA产品拖到LibB项目树中的Frameworks文件夹中。从静态库旁边的LibA目录中将include拖到LibB项目树的顶层。如下

ios - 为什么 methodLists 是指向 objc_class 中的指针的指针

方法列表和协议(protocol)都是链表,protocols是一个指针,而methodLists是一个指向指针的指针,为什么? 最佳答案 这是一个实现细节,它是Objective-C的历史和动态向类添加方法的能力的结果。具体来说,如果您查看method_list条目的内容,您会发现这些方法被分解为多个集合,其中每个集合包含对象上特定类别的所有方法。IE。如果您的应用程序要使用五个方法在UIView上定义一个类别(不要那样做——糟糕的设计),那么您会发现这五个方法附加到单个objc_method_list中的method_list的

ios - 在 Xcode 中,有没有办法绕过一行或多行的 "All Exceptions"断点?

我被这行代码慢慢逼疯了:NSDictionary*rectangle3FontAttributes=@{NSFontAttributeName:[UIFontfontWithName:@"TrajanPro3-Regular"size:18],NSForegroundColorAttributeName:theCoverLogoColor,NSParagraphStyleAttributeName:rectangle3Style};...由于某种原因导致内部异常。程序继续运行没有问题,但我的异常断点每次都会捕获它,导致视口(viewport)更改我正在查看的文件并要求我在每次...单个

ios - 如何使用来自 ObjC 类的 std::function 回调在 C++ 中进行异步工作?

大图我有一个C++库,可以执行包括网络在内的异步工作。它有一个特定于Darwin的后端,使用GrandCentralDispatch的CAPI将工作委托(delegate)给其他线程。现在我想通过一个薄薄的ObjC++层从一个用Swift编写的新iOS应用程序中使用该库。我在OSX10.10上使用Xcode6.3.2。在这个最小的示例中,我重新创建了上述架构。问题在于,当操作通过std::function回调返回时,启动异步操作的ObjC类实例以某种方式“中断”。如果将std::function声明为[&]而不是[=],则仅会发生这种情况。我不能使用后者,因为“真正的”C++代码不支持

ios - 如何在 Swift/ObjC 中实现将文本/媒体共享到聊天应用程序中的能力

我结合使用Swift2.3和ObjectiveC开发了一个iPhone聊天应用程序。聊天应用程序具有一组典型的功能,如联系人、聊天线程(房间)、发送和接收文本和二进制内容等。我想实现将文本和二进制信息发送到应用程序的功能(共享功能),这样我的用户就可以将来自第三方应用程序(如Safari、照片等)的URL、文本和图像共享到我的应用程序中。如何做到这一点?是否有示例代码或示例或教程?像这样: 最佳答案 您必须创建一个共享AppExtension在您的应用程序中。查看thistutorial(或thisone或thisother)完整示

ios - swift 3.0 : "objc_setAssociatedObject" issue

importUIKitimportObjectiveCvarSubRowObjectKey:String="subRow"extensionIndexPath{varsubRow:Int{get{letsubRowObj=objc_getAssociatedObject(self,&SubRowObjectKey)ifsubRowObj!=nil{return(subRowObjas!Int)}return0}set{letsubRowObj=(newValueasNSInteger)objc_setAssociatedObject(self,&SubRowObjectKey,subR

ios - 从 Objc 到 Swift 3 的 URLEncoding

我们在ObjectiveC中使用以下URL编码,现在我们正在迁移到swift。对于以下ObjC到swift3的等效编码是什么。-(NSString*)URLEncodedString{NSMutableString*output=[NSMutableStringstring];constunsignedchar*source=(constunsignedchar*)[selfUTF8String];intsourceLen=strlen((constchar*)source);for(inti=0;i='a'&&thisChar='A'&&thisChar='0'&&thisChar

ios - X代码/LLDB : po $eax and po $r0 only display ints for __cxa_throw exceptions?

在使用LLDB研究调试异常时,我发现了以下文章和线程,以及其他提供相同信息的文章:https://www.natashatherobot.com/xcode-debugging-trick/Xcode/LLDB:Howtogetinformationaboutanexceptionthatwasjustthrown?当尝试这些的变体时,我能得到的最好结果是一个int:(lldb)po$rax106377751137688当将它插入Xcode内存查看器时,尝试将其作为base-10和hex值,似乎没有对象存储在那里。我得到诸如B80B0C160100000003...之类的结果,然后是眼

iphone - 核心动画 : ignoring exception: *** -[NSPlaceholderString initWithString:]: nil argument

此代码导致错误:-(NSString*)cachedTwitterOAuthDataForUsername:(NSString*)username{NSString*cache=[NSStringstringWithString:[settingsobjectForKey:@"twitterCache"]];if(cache.length>0){twitterLoginShown=YES;returncache;}return@"";}出于某种原因,我什至无法单步执行此代码块中的每一行。我不太确定错误在问什么。 最佳答案 错误表明[

php - 将此 .php 转换为 ObjC 可运行的 NSURLSession POST 请求?

基本上,我正在尝试登录此websitecalledMistar.我可以使用php来完成:因此php(当您运行它时)可以正常工作。您使用Pin(20005012)和密码(wildcats)进行身份验证并返回一个页面,其中包含类似{1,UserAuthenticated}现在我要做的是从iPhone应用程序(所以ObjC)登录网站,可能使用NSURLSession或其他东西。这是我目前所拥有的,但它一直给我一个登录页面错误:-(void)loginToMistar{//CreatePOSTrequestNSMutableURLRequest*request=[[NSMutableURLRe