iphone - 我如何在 iPad 中使用 class_getProperty?(不是模拟器)

标签 iphone objective-c ipad

我正在使用 class_getProperty()在我的 iPad 应用程序中。我试过 #import <objc/objc-runtime.h> ,适用于 iPad 模拟器。

但是当我尝试在我的 iPad 上运行它时,Xcode 说:

objc/objc-runtime.h: No such file or directory

warning: implicit declaration of function 'class_getProperty'.

最佳答案

请注意,模拟器和设备之间存在差异。模拟器不运行与设备完全相同的 SDK。下层实际上来自 Mac SDK,这是有道理的,因为它是在 mac 上执行的。

但是,似乎有针对您的特定问题的修复方法。您绝对应该尝试 Jeff Lamarche 在这篇文章中描述的修复:Device vs. Simulator

替换

#import <objc/objc-runtime.h>

通过

#import <objc/runtime.h>
#import <objc/message.h>

然后为了消除警告,您在相关类的头文件中添加这两行:

#if (TARGET_OS_IPHONE)
- (NSString *)className;
+ (NSString *)className;
#endif

然后在实现文件中:

#if (TARGET_OS_IPHONE)
- (NSString *)className {
 return [NSString stringWithUTF8String:class_getName([self class])];
}
+ (NSString *)className {
 return [NSString stringWithUTF8String:class_getName(self)];
}
#endif

关于iphone - 我如何在 iPad 中使用 class_getProperty?(不是模拟器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3210837/

相关文章:

objective-c - 如何在 iPhone(特别是 iPad)上使用 CoreGraphics 绘制一个简单的椭圆?

css - iPad(移动Safari)选择选项字体大小不一致

iphone - 按住按钮时如何更改具有选定颜色的单元格

iphone - 与 iPhone 应用商店相比,Android 市场有多大?

iphone - UIButton 没有出现在 viewController 上

ios - NSSet 的 Coredata 获取谓词

ios - NSDateFormatter 中的 AM/PM 问题

ios - Swift:为什么我的 iOS 无法扫描其他蓝牙设备

iphone - 如何将 NSArray 中的对象放入 NSSet 中?

ios - 计算 N 像素中的空格数 ' '