小编Cod*_*aFi的帖子

在我的iOS Mail和Safari应用程序中支持Open In ...菜单项

我需要让我的应用程序打开来自Safari和Mail应用程序的文档,并在UIDocumentInteractionController课堂上打开"Open In ..." .我该如何做到这一点?

cocoa-touch objective-c ios uidocumentinteraction

49
推荐指数
2
解决办法
3万
查看次数

为什么在项目中使用#include_next?

引用包装器标题上的iOS 文档:

#include_next不区分<file>和"file"包含,也不检查您指定的文件是否与当前文件同名.它只是查找名为的文件,从找到当前文件的目录后的搜索路径中的目录开始.

使用"#include_next"会导致很大的混乱.我们建议仅在没有其他替代方案时使用.特别是,它不应该用在属于特定程序的标题中; 它应该只用于沿着fixincludes进行全局修正.

那么,有两个问题,#include_next是什么,为什么你需要使用它?

gcc include c-preprocessor

49
推荐指数
2
解决办法
3万
查看次数

越狱内核有什么变化?

在看到这个关于保护你的应用程序不被破解的问题后,我看到顶级回答者提到了能够看到设备是否因内核中的某些内部不平衡而被越狱的问题.仔细研究了一下,我发现了内核架构概述指南,并了解了与Mach-BSD内核交互的方法.我需要知道的是:我在寻找什么?当设备在内核的上下文中被越狱时,是否存在某种键或内部状态会发生变化?

要清楚,我不是在寻找代码(我知道如何自己做这些事情),我正在寻找寻找的东西......听起来很奇怪.我已经看到了链接问题中的答案,我知道它们有效,但我想知道一个全内核路由,这似乎是一种通用而有效的方法来检查而不是搜索可能会更改或删除密钥的目录可能有不同的名字.

我也不打算因为盗版而禁用应用程序的任何功能(只是根据条件显示消息或某些内容).

kernel jailbreak ios

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

必须协议符合NSObject协议吗?

NSObject协议附带了库存协议模板,但它似乎并不是实际协议实现所必需的.离开它似乎完全没有改变.那么,协议是否真的有必要从中继承,还是仅仅是一个不必要的附加组件?

objective-c nsobject ios

19
推荐指数
2
解决办法
5326
查看次数

Android中的iOS NSNotificationCenter等效?

Android中是否有类似的iOS类NSNotificationCenter?我可以使用任何库或有用的代码吗?

iphone android ios

15
推荐指数
3
解决办法
8329
查看次数

将文件夹(w/contents)从bundle复制到Documents目录 - iOS

编辑:已解决

谢谢布鲁克斯.你的问题让我不断深入研究文件是否存在于我的包中 - 而事实并非如此!

所以通过使用这个代码(也在下面):iPhone/iPad:无法将文件夹从NSBundle复制到NSDocumentDirectory以及向Xcode正确添加目录的说明(从这里和下面)我能够使它工作.

将文件夹复制到Xcode:

  1. 在Mac上创建目录.
  2. 选择"将现有文件添加到项目中"
  3. 选择要导入的目录
  4. 在弹出窗口中,确保选择"将项目复制到目标组的文件夹"和"为任何添加的文件夹创建文件夹参考"
  5. 点击"添加"
  6. 目录应显示为蓝色而不是黄色.

    -(void) copyDirectory:(NSString *)directory {
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *documentDBFolderPath = [documentsDirectory stringByAppendingPathComponent:directory];
    NSString *resourceDBFolderPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:directory];
    
    if (![fileManager fileExistsAtPath:documentDBFolderPath]) {
        //Create Directory!
        [fileManager createDirectoryAtPath:documentDBFolderPath withIntermediateDirectories:NO attributes:nil error:&error];
    } else {
        NSLog(@"Directory exists! %@", documentDBFolderPath);
    }
    
    NSArray *fileList = [fileManager contentsOfDirectoryAtPath:resourceDBFolderPath error:&error];
    for (NSString *s in fileList) {
        NSString …
    Run Code Online (Sandbox Code Playgroud)

iphone bundle copy nsfilemanager ios

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

检测全屏菜单栏移动

所以现在我有一个NSWindow使用INAppStoreWindow像NSToolbar一样吸引自己,我想知道在应用程序全屏显示时菜单栏移动时是否发送了任何类型的事件或消息,以便我可以移动作为响应的窗口的标题栏(标准NSToolbar的工作方式).显然,NSToolbar知道我不知道的事情,这样可以避免我在窗口的上半部分制作NSTrackingArea.

这就是它现在的作用:

之前

这就是我想做的事情:

在此输入图像描述

不幸的是,KVO'ing a fullScreenAccessoryView也行不通.帧事件仅在进入和退出全屏模式时生成,而不是在状态栏"向下移动"工具栏时生成.

macos objective-c statusbar

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

空方法名称,这实际上做了什么?

我目前正在学习自己的Objective-c和iOS编程,并发现自己因为这个微小的错误一小时而陷入了非工作代码.请考虑以下代码:

@property (strong, nonatomic) NSString *name;
- (NSString *):name { return @"Some name"; }
Run Code Online (Sandbox Code Playgroud)

乍一看(对于任何新人来说),这看起来像是一个被覆盖的name房产吸气剂.但这是非常微妙的:那不应该存在.这里没有来自编译器/解析器/运行时的警告/错误,所以我的问题是这实际上最终是什么?

一旦我看到错误,我试图找到一种调用此方法的方法,但在我的几次尝试中没有成功.

objective-c ios

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

id是"根类型",还是只是一种类型?

许多Objective-C开发人员,无论是新手还是专家,似乎都认为id它是一种神奇的全能类型,你可以将对象强制转换并发送任何旧消息而不会产生任何后果(至少来自编译器).但是,当一个人真正看到id它的定义时,它只不过是一个指针objc_object.通过这种方式,它实际上是一个"Objective-C对象",但没有任何东西可以"下降" id.甚至NSObject的标题也不像:

@interface NSObject : id
Run Code Online (Sandbox Code Playgroud)

它只是写道:

@interface NSObject
Run Code Online (Sandbox Code Playgroud)

现在,我坚信,id所谓的类型中立性是其实施的副作用,但是因为有些人仍然认为不同,我必须要问:

这种id类型的主要功能究竟是什么?

objective-c

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

C作为校长级或; 没有ObjC的可可应用程序

对于那些质疑我的理智/浪费时间/能力/动机的人来说,这件事是"基础与勺子"项目的一个端口,现在因为是一个全C的iOS应用程序而臭名昭着.

所以,我有交流文件铆足了劲去,要在主类的全部-C的MAC-应用的背后,但是,限制因素是阻止正在启动的应用程序的组合.就目前而言,该项目只是一个main.m和一个名为AppDelegate.c的类,所以我输入了"AppDelegate"作为info.plist中主要类的名称,令我完全惊讶的是,打印的日志:

无法找到类:AppDelegate,退出

这将iOS中很好地工作,因为主函数接受委托类的名称,并自动处理它,但NSApplicationMain()函数没有这样的说法.

现在,我知道这源于@interface/@implementationC 中没有指令的事实,而这正是操作系统似乎正在寻找的,所以我编写了一个简单的NSApplication子类并将其作为主要类提供给plist,它完美地启动了好.我的问题是,怎样才能将ac文件设置为mac应用程序中的主要类并使其正确启动?

编辑:解决了!该文件可能是.m(框架错误,由于某种原因),但类对的分配足以滑倒.您可以在此处下载基于C的Mac App的源代码.快乐挖!

代码已被编写,签名,密封和盖章,但我需要的只是解决plist中NSPrincipalClass要求的方法.

c macos cocoa objective-c objective-c-runtime

9
推荐指数
2
解决办法
1561
查看次数