小编lvi*_*ani的帖子

实例方法'-_setWebGLEnabled:'未找到(返回类型默认为'id')

我从git检查了这个项目:

https://github.com/atnan/UIWebViewWebGL

看完相关文章后.

事情有效,但Xcode给了我以下警告

Instance method '-_setWebGLEnabled:' not found (return type defaults to 'id')
Run Code Online (Sandbox Code Playgroud)

在此刻:

[backingWebView _setWebGLEnabled:YES];
Run Code Online (Sandbox Code Playgroud)

该项目无论如何编译和工作,但是如果我打开ARC,警告会出错并且项目甚至无法编译.我该怎样摆脱那个警告?谢谢!

objective-c webgl ios

2
推荐指数
1
解决办法
324
查看次数

列出所有可用的CSS样式javascript

让我们想象一下我已经声明了一些样式(直接在我的html文档或外部css文件中):

<style>
.Red { background-color: red; }
.Green { background-color: green; }
.Blue { background-color: blue; }
</style>
Run Code Online (Sandbox Code Playgroud)

在我的javascript代码中,我想列出Array或任何其他形式的所有可用样式

function getAvailableStyleNames(){
  return ["Red", "Green", "Blue"]; // Dummy code. the answer would go here...
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

html javascript css

2
推荐指数
1
解决办法
156
查看次数

了解Linux内核驱动程序

在从源代码构建Linux内核时,我注意到它也在构建一些驱动程序(例如drivers/gpu/drm/i915或nouveau等).另一方面,在我的系统上,我还安装了xserver-xorg-video-intel软件包(Ubuntu).所以问题是:xser​​ver-xorg-video-intel驱动程序如何与内核中的drivers/gpu/drm/i915一起使用?它们是两个具有不同目的的独立事物(例如,第二个仅针对X11)吗?

linux driver xorg linux-kernel

2
推荐指数
1
解决办法
621
查看次数

Objective C 内存管理示例

我正在尝试学习目标 c,但我仍然对内存管理有些困惑。是的,我知道,我应该使用 ARC,但我的项目使用不支持它的 TouchXML。此外,我已经阅读了很多关于内存管理的文档和线程,但我仍然有一些疑问,希望你们能帮助我澄清。

我了解到谁分配了一个对象,然后负责释放它。我还了解到“保留”会增加引用计数器,而“释放”会减少它。当对象的引用计数器达到 0 时,它会自动解除分配。我终于了解到“自动释放”在当前事件周期结束时自动释放对象。没关系。

现在请考虑以下情况:

我分配了一个数组,我需要在我的对象的整个生命周期中使用它。当我的对象被删除时,我负责释放它:

@implementation MyClass
-(id) init {
  myArray = [[NSMutableArray alloc] init]; // this is a @property
}

- (void) dealloc {
  [myArray release];
  [super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)

这样,在 dealloc 方法中,myArray 释放也会导致 myArray o 被释放。如果我然后从 myClass 实例化一个新对象并像这样保留 myArray ......

// 我的其他类

MyClass *o = [[[MyClass alloc] init] autorelease];
NSMutableArray *retainedArray = [[o.myArray] retain];
Run Code Online (Sandbox Code Playgroud)

...在当前事件周期结束时,“o”将被自动释放,而retainedArray(实际上指向o.myArray)在我调用[retainedArray release] 之​​前不会被释放。到这里是否正确?

如果是这样,我想如果我调用以下内容,同样适用:

NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"somePath" error:nil];
Run Code Online (Sandbox Code Playgroud)

我不需要(实际上我不能,否则它会给出运行时错误)调用“内容”的 release 或 autorelease ,除非我将它保留在我的代码中的某个地方。正确的?

如果是这样,总结一下,最后我只需要在调用 alloc 或保留时调用 release。我的类中引用计数的平衡应始终为 …

memory-management objective-c

1
推荐指数
1
解决办法
485
查看次数

Apple 无法检查它是否存在恶意软件

我正在分发基于 nw.js 的 macOS 应用程序codesign,并使用有效的 macOS 证书(该应用程序是在 Mojave 中使用最新的 XCode 工具创建和签名的)使用命令手动签名。

codesign -s "my identity" --deep "my app.app"
Run Code Online (Sandbox Code Playgroud)

请注意,--deep开关是必需的,因为我还在我的 App 包中修改了一个 .framework 包

签名成功,我也可以通过以下方式验证codesign

codesign -d --verbose=4 "my app.app"
spctl --assess --verbose=4 --type execute "my app.app"
Run Code Online (Sandbox Code Playgroud)

然后我通过网络(谷歌驱动器)分发它,并且在 Catalina 之前的任何 Mac 上都可以正常工作,没有任何警告。当我尝试在另一台运行 Catalina 的计算机上打开该应用程序时,我收到此消息

无法打开“xxxx”,因为 Apple 无法检查它是否存在恶意软件

类似于: 在此处输入图片说明

我看到您仍然可以从“安全和隐私面板”打开它,但这不是我希望我的用户做的。我怎样才能摆脱这个消息?有什么不同的签名方式吗?还是我需要从 Catalina 那里签名?

macos codesign macos-catalina

1
推荐指数
1
解决办法
836
查看次数

Objective C内存管理 - "未释放指针被释放"错误

我正在努力学习objective-c(我对此非常新)并且我在内存管理方面存在问题......

我正在开发一款使用TouchXML的iPad应用程序.

我创建了扩展CXMLDocument的类,并通过读取一些内容并保存到属性中进行初始化.

这是我的代码(SimpleManifest.h):

@interface SimpleManifest : CXMLDocument {
    CXMLNode *_defaultOrganization;
    NSString *_title;

    NSDictionary *dictionary;
}

@property (readonly) CXMLNode *defaultOrganization;
@property (readonly) NSString* title;

- (id) initWithPath:(NSString *)path options:(NSUInteger)options error:(NSError **)error;

@end
Run Code Online (Sandbox Code Playgroud)

(SimpleManifest.m):

#import "SimpleManifest.h"
#import "CXMLNode_XPathExtensions.h"

@implementation SimpleManifest

- (id) initWithPath:(NSString *)path options:(NSUInteger)options error:(NSError **)error
{
    /*
    NSURL *theURL = [[[NSURL alloc] initFileURLWithPath:path] autorelease];
    self = [self initWithContentsOfURL:theURL options:options error:error];
    */

    NSData *data   = [NSData dataWithContentsOfFile:path];
    NSString *s = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];

    self = [self initWithXMLString:s options:options …
Run Code Online (Sandbox Code Playgroud)

objective-c touchxml ios

0
推荐指数
1
解决办法
7862
查看次数