小编iHS*_*iHS的帖子

是否可以对我的iPhone应用程序进行逆向工程?

我创建了一个iPhone应用程序,我想将已编译的.app文件发送到我的客户端,这样他就可以在他的设备上安装和测试这个iPhone应用程序.

他是否可以查看此.app文件的内容,例如此应用程序中使用的资源文件(图像,声音文件等)?他可以从编译产品中反向设计用于构建此应用程序的源代码吗?

iphone objective-c

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

Mulithreading:只有在完成执行其他方法后才执行方法调用

我试图按照要求异步处理方法,一旦第一个方法完成,只有第二个方法应该开始执行.问题是第一种方法本身具有在后台线程上运行的代码.

我尝试了dispatch_semaphore_wait,但那也没有用.

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);

        dispatch_group_t group = dispatch_group_create();


        dispatch_group_async(group, queue, ^{

            [self firstMethod];
            NSLog(@"firstMethod Done");

        });
        dispatch_group_notify(group, queue, ^ {

            NSLog(@"1st method completed");
            NSLog(@"2nd method starting");

            [self secondMethod];

        });
Run Code Online (Sandbox Code Playgroud)

FirstMethod本身运行在另一个这样的工作线程上

-(void)firstMethod
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
   //processing here.....       

 }];
Run Code Online (Sandbox Code Playgroud)

实现它的最佳方法是什么,我无法更改firstMethod的定义,因为它是由第三方提供的,并且还更改它意味着更改大量现有代码从调用此方法的位置

multithreading objective-c grand-central-dispatch ios objective-c-blocks

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

REST是否支持协议缓冲区

这可能是一个非常笼统的问题,但考虑到REST专注于通过单个一致的接口访问命名资源这一事实;它支持协议缓冲区吗?

rest protocol-buffers

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

SCNCylinder diffuse.contents - 为半径和高度部分渲染不同的内容

有没有办法为半径和高度部分呈现不同的内容

我正在尝试使用圆柱形对象并使用SCMaterial实例的diffuse.contents在其上渲染图像

myCustomMaterial.diffuse.contents = UIImage(named: "image")
Run Code Online (Sandbox Code Playgroud)

它在圆柱体上渲染此图像,但是在高度和渲染部分上渲染相同的图像.

我想在高度部分上呈现与半径部分不同的图像.可能吗?

scenekit

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

为NSMutableArray设置属性的适当方法

我想要一个可变数组,并通过一个属性设置它,替换是更好的,请解释原因.我有两个选择

 NSMutableArray *arrSubTitles_temp = [[NSMutableArray alloc] initWithObjects:    
 @"String 1",
 @"String 2",nil];
 self.arrSubTitles = arrSubTitles_temp;
 [arrSubTitles_temp release];
Run Code Online (Sandbox Code Playgroud)

要么

 NSArray *arrSubTitles_temp = [[NSArray alloc] initWithObjects:    
 @"String 1",
 @"String 2",nil];
 self.arrSubTitles = [arrSubTitles_temp mutableCopy];
 [arrSubTitles_temp release];
Run Code Online (Sandbox Code Playgroud)

我猜第一个更好,因为self.arrSubTitles属性保留在.h中,所以(在第二个)mutableCopy方法将提供可变数组,但在这种情况下保留计数将是2.

哪种方法更可取,我应该在设置属性时使用retain.还是仅指定.请建议.

提前谢谢了 :)

iphone cocoa cocoa-touch objective-c ios

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

为什么垃圾收集不适用于线程?

在我的应用程序中,每个东西都可以正常工作,直到我分离一个线程从文件中读取音频数据并进行处理.

无论我做什么,垃圾收集似乎都不知道这个线程上发生了什么.我试过[NSThread self],[NSThread currentThread],[[NSGarbageCollector defaultCollector] collectIfNeeded]和collectExhaustivly].我从NSThread转到NSOperation与NSOperationQueue.

这些建议的解决方案都没有奏效.最近,我从NSMutableArrays切换到

Float32* pfArray= calloc(numFloats, sizeof(Float32));

保存我的数据,并用来 free(pfArray); 释放那个记忆.这样做效果更好,但仍然泄漏了不错的数量.

在Activity Monitor中指示的"真实内存"遇到一些任意数字后,垃圾收集似乎开始工作到一定程度,但是当它确实起作用时,它并不释放所有正在使用的内存.它只是不会让它远高于任意阈值.

我已经读过GC是要走的路,但现在我不确定并且有一个几乎完全编写的程序.任何建议都会非常有帮助.谢谢!

cocoa garbage-collection objective-c nsoperation

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