小编Pri*_*yat的帖子

Cocoa中的NSData-AES类加密/解密

我试图在我的文本编辑器中加密/解密纯文本文件.加密似乎工作正常,但解密不起作用,文本加密.我确信我已经使用加密它的单词解密了文本 - 有人可以浏览下面的片段并帮助我吗?

谢谢 :)

加密:

NSAlert *alert = [NSAlert alertWithMessageText:@"Encryption"
                                     defaultButton:@"Set"
                                   alternateButton:@"Cancel"
                                       otherButton:nil
                         informativeTextWithFormat:@"Please enter a password to encrypt your file with:"];
    [alert setIcon:[NSImage imageNamed:@"License.png"]];
    NSSecureTextField *input = [[NSSecureTextField alloc] initWithFrame:NSMakeRect(0, 0, 300, 24)];
    [alert setAccessoryView:input];
    NSInteger button = [alert runModal];
    if (button == NSAlertDefaultReturn) {
    [[NSUserDefaults standardUserDefaults] setObject:[input stringValue] forKey:@"password"];   
    NSData *data;
    [self setString:[textView textStorage]];
    NSMutableDictionary *dict = [NSDictionary dictionaryWithObject:NSPlainTextDocumentType
                                                            forKey:NSDocumentTypeDocumentAttribute];
    [textView breakUndoCoalescing];
    data = [[self string] dataFromRange:NSMakeRange(0, [[self string] length])
                     documentAttributes:dict error:outError];
    NSData*encrypt = [data AESEncryptWithPassphrase:[input stringValue]]; …
Run Code Online (Sandbox Code Playgroud)

encryption cocoa nsdata

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

在没有附加Xcode的情况下启动时iOS崩溃

我的iOS应用程序遇到了一个奇怪的问题.当它通过Xcode(Build&Run)运行时,一切运行良好.该应用程序启动,一切按预期工作.

但是,如果我尝试通过点击用户的图标(通过Springboard)打开应用程序,应用程序会立即崩溃,并在下面的崩溃日志中崩溃.它似乎指向某种与图像相关的问题,但我不明白在使用Xcode进行调试时它是如何发生的.

任何人都能解释一下吗?

Date/Time:       2012-06-15 16:13:29.035 +0100
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   dyld                            0x2fe76464 strcmp + 0
1   dyld                            0x2fe6a6e2 ImageLoaderMachO::parseLoadCmds() + 54
2   dyld                            0x2fe72058 ImageLoaderMachOCompressed::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, unsigned int, unsigned int, linkedit_data_command const*, ImageLoader::LinkContext const&) + 296
3   dyld                            0x2fe6b23a ImageLoaderMachO::instantiateFromFile(char const*, …
Run Code Online (Sandbox Code Playgroud)

iphone debugging objective-c

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

创建Cocoa框架

我已经创建了一个可行的Cocoa框架,我想重新分发它.但问题是,它不会在Xcode之外运行.我读过一些@executable_path/../Frameworks我没有提到的内容,因为我不知道该放在哪里:/

因此,我使用DYLD_FRAMEWORK_PATH 变量工作在Xcode中运行我的应用程序工作正常,但只在Xcode中 - 如果我尝试自己运行它直接崩溃并说IMAGE NOT FOUND.

我确定@executable_path/../Frameworks缺少什么,但我不知道该把它放在哪里.

有人可以帮帮我吗?:)

谢谢

cocoa frameworks

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

iOS iTunes文件共享问题

我有一个iOS应用程序,它使用Filesharing为用户提供几个下载的文件.这很好用,但有一些我不希望用户有权访问的文件.

我可以提供iTunes可以从中获取数据的自定义文件夹,或者我可以做些什么来阻止访问这些文件?

iphone itunes objective-c

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

NSFileManager - 在启动时复制文件

我需要从我的应用程序的资源文件夹中复制一些示例文件,并将它们放在我的应用程序的文档文件夹中.我想出了附加的代码,它编译得很好,但它不起作用.我引用的所有目录都存在.我不太确定我做错了什么,有人能指出我正确的方向吗?

NSFileManager*manager = [NSFileManager defaultManager];

NSString*dirToCopyTo = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

NSString*path = [[NSBundle mainBundle] resourcePath];

NSString*dirToCopyFrom = [path stringByAppendingPathComponent:@"Samples"];


NSError*error;

NSArray*files = [manager contentsOfDirectoryAtPath:dirToCopyFrom error:nil];

for (NSString *file in files)
{
        [manager copyItemAtPath:[dirToCopyFrom stringByAppendingPathComponent:file] toPath:dirToCopyTo error:&error];

        if (error)
        {
            NSLog(@"%@",[error localizedDescription]);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我只是按照它应该的方式编辑代码.然而现在又出现了另一个问题:

2010-05-15 13:31:31.787 WriteIt Mobile [4587:207] DAMutableDictionary.h 2010-05-15 13:31:31.795 WriteIt Mobile [4587:207] FileManager错误:操作无法完成.文件已存在

编辑:我通过告诉NSFileManager复制文件的目的地名称来解决问题.

        [manager copyItemAtPath:[dirToCopyFrom stringByAppendingPathComponent:file] toPath:[dirToCopyTo stringByAppendingPathComponent:file] error:&error];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa document copying nsfilemanager

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

NSView子类 - drawRect:未调用

我创建了一个NSView名为的子类DAView,它包含了一组有用的方法,以便以后重用.然而,这种方法很有用,drawRect:从不在任何使用过的类中调用DAView,也不在类本身中调用.为什么?

这是DAView看起来像:

DAView

@interface DAView : NSView

- (id)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];

    if (self)
    {
        self.backgroundColor = [NSColor clearColor];

        // Make layer-backed by default
        self.wantsLayer = YES;

        // Create a root layer
        CALayer *_rootLayer = [CALayer layer];

        _rootLayer.shouldRasterize = YES;

        _rootLayer.name = DAViewRootLayerDefaultName;

        self.layer = _rootLayer;
    }

    return self;
}

- (void)drawRect:(NSRect)dirtyRect // never called
{
    NSLog(@"Draw Rect called");
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我想使用这些DAView's添加/方法,我将面临同样的问题.一切都很好,除了drawRect:,在这种DAView情况下,从来没有被称为:

DATableView …

cocoa objective-c

4
推荐指数
2
解决办法
4742
查看次数

GameKit蓝牙传输问题

我正在尝试使用GameKit框架通过蓝牙发送文件.我遇到的问题是我一次只能发送一个NSData对象,但我需要在另一端保存它.如果不知道文件名,这显然是不可能的,但我不知道如何传输它.我试图将它转换为字符串, NSData*data = [NSData dataWithContentsOfFile:urlAddress];但我只能发送一个NSData对象,而不是两个.

有人遇到过这个问题吗?

iphone cocoa bluetooth gamekit

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

阅读iOS问题证书

我正在尝试从iOS中的各种URL读取证书.然而,我的代码运行不正常 - 应该返回我需要的信息的数组总是返回null.

我错过了什么?

- (void)findCertificate:(NSString *)url
{
    NSInputStream*input = [[NSInputStream inputStreamWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://store.writeitstudios.com"]]] retain];

    [input setDelegate:self];

    [input scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

    [input open];

    NSLog(@"Status: %i",[input streamStatus]);
}

- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
    NSLog(@"handle Event: %i",eventCode);

    if (eventCode == NSStreamStatusOpen)
    {
        NSArray *certificates = (NSArray*)CFReadStreamCopyProperty((CFReadStreamRef)aStream, kCFStreamPropertySSLPeerCertificates); 

        NSLog(@"Certs: %@",CFReadStreamCopyProperty((CFReadStreamRef)aStream, kCFStreamPropertySSLPeerCertificates));

        if ([certificates count] > 0) { 
            SecCertificateRef certificate = (SecCertificateRef)[certificates objectAtIndex:0]; 
            NSString *description = (NSString*)SecCertificateCopySubjectSummary(certificate); 
            NSData *data = (NSData *)SecCertificateCopyData(certificate); 
            NSLog(@"Description: %@",description);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是的,我知道我在泄漏记忆.这只是一个片段.

iphone certificate objective-c

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

UIWebView响应Javascript调用

我如何拦截window.open像Safari Safari那样的Javascript调用?我没有看到任何关于此的列表,但它必须以某种方式可能吗?

有没有人这样做过?

iphone objective-c uiwebview

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

CORE Keygen问题

在与一些"minamoto"家伙创建的CoreKeyGen的几个版本打架之后,出现了一个新版本.这个版本特别复杂,似乎使用名为libbassmod.dylib的dylib修改了实际的二进制文件(这是在keygen的Mac OS文件夹中).

有没有人遇到这个并且可以给我如何阻止它的建议?

如果是这样,我怎么能停止keygen?好像图书馆可以看到我的应用程序调用了什么,并以某种方式阻止它们,我不太确定.

binary macos dylib

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