草庐IT

ios - LLVM 5.1 "Deprecated isa"的编译器错误

我在libJSONKit和JSONKit.m中遇到编译器错误。错误是这样抛出的:“AssignmenttoObjective-C'sisaisdeprecatedinfavorofobject_setClass()”。还有一个次要错误:“直接访问Objective-C的isa已被弃用,取而代之的是object_getClass()”。关于变通方法或解决方案的任何建议? 最佳答案 只需按照错误消息中的建议操作即可:改变:object->isa=SomeClass;到:object_setClass(object,SomeClass);

python - 什么时候调用 __lldb_init_module?

我正在关注WWDCsession412-在Xcode中调试。那里有一个关于为您自己的类创建自定义LLDB摘要的演示。我根本无法显示摘要。通过在Python脚本中插入打印调用,我已经能够确定:正在导入脚本文件__lldb_init_module从未被调用知道什么可以阻止__lldb_init_module被调用吗?是否有特定时间需要导入脚本? 最佳答案 对我来说,这是通过添加commandscriptimport/path/to/CustomSummaries.py到~/.lldbinit文件并重新启动Xcode,或者在“main”中

ios - Objective-C 编译器遗漏了协议(protocol)定义

我正在编写几个使用Objective-C运行时库的类。这包括在运行时根据名称检索协议(protocol)定义。但是,似乎未被类显式采用或在代码中使用@protocol(ProtocolName)引用的协议(protocol)被排除在编译之外,并且在运行时不可用。例子:@protocolMyProtocol-(void)doSomething;@end//代码中的其他地方Protocol*protocol=NSProtocolFromString(@"MyProtocol");//^valueof"protocol"willbenilwhenIruntheapplication!//但是

ios - Clang(LLVM) 使用框架编译

我正在使用:clang-ObjC-frameworkUIKit-o/var/compiled/c/Documents/Source/main.m在OSX终端中。我也试过UIKit.framework,但我得到了FatalError:'UIKit/UIKit.h'notfound两者兼而有之。有什么建议吗?谢谢 最佳答案 这已经在Apple开发者论坛中得到解答,您可以在here中找到完整的讨论。.在标记为问题解决方案的答案中,他们说:1-首先检查您的PATH变量:$echo$PATH2-假设/System/Library/Framew

ios - Xcode 警告 : . .. 是 GNU 扩展

我将C++库用于iOS应用。配置了AppleLLVM3.1编译器(默认)后,我收到了很多针对此C++代码的警告,其中大部分是这样说的:...isaGNUextensionclang的用户手册的介绍是这样说的:Clang驱动程序和语言功能特意设计为尽可能与GNUGCC编译器兼容,从而简化从GCC到Clang的迁移。在大多数情况下,代码“正常工作”。那么,是否只需要寻找一个开关来禁用此警告(顺便说一句,怎么做?)还是我应该最好让这个库摆脱所有GNU扩展? 最佳答案 您可以使用编译器标志抑制警告。Clang告诉您每个警告要使用哪个编译器标

ios - 构建时出现 Apple LLVM 5.0 错误

创建一个新项目后,我将其命名为o-golfer(与我的项目名称相同)然后我修改了Identity名称为Application现在再次构建它时,出现AppleLLVM5.0错误,因为缓存的预编译header正在尝试再次查找有没有办法清除和重建这个缓存​​的header?我已经尝试清理并重新构建项目......同样的错误clang:error:nosuchfileordirectory:'/Users/yves/Developpement/iOS7/OPTIMAL/o-golfer/o-golfer/o-golfer-Prefix.pch'这是错误日志:ProcessPCH/Users/y

ios - 将 iOS 7 SDK 与 llvm-gcc-4.2 一起使用

我已经安装了xcode5并注意到gcc编译器已被弃用。假设我不想切换到AppleLLVM5.0,我的问题来了:是否可以使用iOS7SDK并仍然在llvm-gcc-4.2中编译?如果是,该怎么做?如果您不知道这是否可行,请不要发布“使用clang,伙计”之类的答案,因为它们实际上没有回答我发布的问题。 最佳答案 Apple已在XCode5中删除了对llvm-gcc-4.2的支持。即使您安装了基础sdk并将其更改为6.1sdk,您也无法使用llvm-gcc-4.2进行构建。因此,如果您想使用llvm-gcc-4.2,您唯一的选择是继续使

ios - Xcode 4.4,使用 ARC 为 iOS 4.2 构建应用程序

Xcode4.4、MountainLion、llvm4.0编译器。我构建了我的应用程序,它可以在ios5、ios6设备上运行,但是在带有ios4.2的iphone3g上我有这样的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_objc_storeStrongReferencedfrom:/var/mobile/Applications/68B78A19-71E6-4BDA-B997-B7DED4D02429/iGuides.app/iGuidesExpectedin:/usr/lib/libobjc.A.dylibdyld:Symboln

ios - ld : warning: section __DATA/__objc_imageinfo__DATA has unexpectedly large size

有人知道这个警告是什么意思吗?紧随其后的是错误:命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2失败,退出代码为1这是iPad的Xcode项目。我只在为模拟器而不是设备编译时看到这个。我已将静态库(*.a)链接到该项目,这就是我认为失败的地方。此外,它曾经在模拟器上运行没有问题,我不确定发生了什么变化。所有的编译器输出:Ld/Users/cduckering/Library/Developer/Xcode/DerivedData/IQ-bldfqilntfqfrccozykbqu

objective-c - 警告 : duplicate protocol definition of '...' is ignored

我应该如何回应这个警告?warning:duplicateprotocoldefinitionof'...'isignored我的协议(protocol)声明在它自己的.h文件中,它在我项目的其他几个文件中被#import。好吧,以防万一,这里是带有协议(protocol)声明的整个头文件:#import@classWrapper;@protocolWrapperDelegate@required-(void)wrapper:(Wrapper*)wrapperdidRetrieveData:(NSData*)data;@optional-(void)wrapperHasBadCrede