小编bra*_*ray的帖子

使用UIManagedDocument的Xcode 4.5的iPhone模拟器5.1中的错误

我有一个非常奇怪的问题,我花了两天时间试图解决...我有一段代码在Xcode 4.4和iOS 5.1模拟器上使用5.1 SDK完美运行.在我更新到Xcode 4.5和6.0 SDK后,我的代码停止在iOS 5.1模拟器中工作......即使它在iOS 6.0模拟器中完美运行.有什么变化我不知道吗?

这是代码:

- (void)useDocument
{
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self.database.fileURL path]]){
        [self.database saveToURL:self.database.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
            [self setupFetchedResultsController];
    }];
    } else if (self.database.documentState == UIDocumentStateClosed){
        [self.database openWithCompletionHandler:^(BOOL success){
            [self setupFetchedResultsController];
        }];          
    } else if (self.database.documentState == UIDocumentStateNormal) {
        [self setupFetchedResultsController];
    }
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,saveToURL和openWithCompletionHandler永远不会在5.1模拟器中返回.谁知道为什么?

xcode core-data ios uimanageddocument xcode4.5

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

从Objective-C访问Swift扩展

我无法从objective-c访问我的swift扩展.

我在.swift文件中有以下代码:

extension NSDictionary {
    func dictionaryAsJsonString() -> NSString {
        var err: NSError?
        var data = NSJSONSerialization.dataWithJSONObject(self, options: NSJSONWritingOptions.PrettyPrinted, error: &err)
        var string = NSString(data: data, encoding: NSUTF8StringEncoding)
        return string
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在我的.m文件中执行以下操作:

[dictionary dictionaryAsJsonString];
Run Code Online (Sandbox Code Playgroud)

但它找不到我的方法,也没有自动完成.

我知道我的导入工作正常,因为我能够访问我的其他swift对象.

objective-c ios swift swift-extensions

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

iTunes U风格下载/进度/停止/播放按钮

用于iPhone的iTunes U具有显示的这些精彩按钮

  • 下载进度
  • 停止按钮和
  • 播放按钮(好吧,"我"按钮)

在一个地方 - 见附件截图.这是一个可以通过代码调用的系统图标,还是开发人员无法使用的东西?

无论如何:如果有人有一个来源,描述如何获得这种按钮,我会非常高兴.我很清楚,图标是由视图控制器中的状态模式控制的.

提前致谢.

在此输入图像描述

iphone progress download ios

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

OTA - 此时无法安装myApp - 无法验证可执行文件

在6个月几乎没有问题之后,我在尝试通过OTA分发应用程序进行内部测试时突然出现了一个主要问题:在安装应用程序时(下载后),我收到以下错误消息 - >屏幕截图.我的所有测试人员也看到相同的消息,因此它不受单个设备的约束.

设备上的控制台显示以下消息:

preflight_application_install: Could not verify executable at /var/tmp/install_staging.uNQth4/foo_extracted/Payload/myApp.app
Run Code Online (Sandbox Code Playgroud)

奇怪的是:我可以使用Xcode通过USB安装应用程序.AppStore上传的验证也很好.

我已经尝试了很多:

  • 新的Distibution Profiles
  • 检查UDID是否在配置文件中
  • 检查钥匙串中的双重配置文件
  • 做了Xcode Voodoo(干净的构建,擦除派生数据)
  • 试图用权利修复它('get-task-allow'= false)

任何解决这个问题的想法都会非常有帮助.提前致谢.

无法下载申请

iphone xcode ios provisioning-profile ios-provisioning

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

从NSURLResponse完成块中获取数据

看起来我还没有完全理解块的概念......

在我的代码中,我必须asychronous block从' outer'方法中返回要返回的JSON数据.我variable with __block用谷歌搜索,发现如果定义一个,_mutability_ of那么变量就被扩展到了变量v̶i̶s̶i̶b̶i̶l̶i̶t̶y̶ block.

但由于某种原因,返回的json对象是nil.我想知道为什么?

- (NSMutableDictionary *)executeRequestUrlString:(NSString *)urlString
{
__block NSMutableDictionary *json = nil;
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPShouldHandleCookies:YES];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-type"];

NSString *cookieString = [self.userDefaults objectForKey:SAVED_COOKIE];

[request addValue:cookieString forHTTPHeaderField:@"Cookie"];

[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue currentQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
                       {

                           NSLog(@"dataAsString %@", [NSString stringWithUTF8String:[data bytes]]);

                           NSError *error1;
                           NSMutableDictionary * innerJson = [NSJSONSerialization
                                   JSONObjectWithData:data
                                              options:kNilOptions
                                                error:&error1];
                           json = …
Run Code Online (Sandbox Code Playgroud)

objective-c nsurlconnection ios objective-c-blocks

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

Xcode 6中OSX App的故事板

使用Xcode 6,还为OSX Apps添加了StoryBoards.但是当我在Cocoa中创建一个新的应用程序时,Storyboards按钮被禁用.

我在这里错过了什么吗?

macos cocoa storyboard xcode6

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

使用NSTask执行离子构建命令 - 无法访问启动路径

我正在使用具有命令行界面的Ionic.我想创建一个有助于执行某些命令的小型Mac应用程序.

在终端我cd Users/me/Desktop/Repos/ionic-project/myApp 改变之后我会例如ionic run

NSTask *task = [[NSTask alloc]init];

task.launchPath = @"/bin/bash";
task.currentDirectoryPath = @"cd Users/me/Desktop/Repos/ionic-tryouts/myApp";
task.arguments = @[@"ionic run"];

[task launch];
Run Code Online (Sandbox Code Playgroud)

但这给了我'工作目录不存在'.我已经在SO上阅读了相当多的主题.我的错是什么?


编辑:

感谢Christik的详细解答.我现在有这个代码:

NSTask *task = [[NSTask alloc]init];
task.launchPath = @"/usr/local/bin/ionic";
task.currentDirectoryPath = @"/Users/me/ionic-tryouts/myApp";
task.arguments = @[@"run"];

[task launch];
Run Code Online (Sandbox Code Playgroud)

现在我收到以下错误:env:node : No such file or directory. 我想这来自一个问题,即找不到node.js(离子是在节点之上构建的).我发现了这个问题 - 缺少正确名称的符号链接可能是原因.但是为节点设置符号链接没有帮助.有任何想法吗?


编辑2:我给了Christik正确的答案,即使我最终无法让它工作.我还在调查.也许这是节点安装错了.


编辑方式3:我看到一些帖子提到它可能会更好,如果自己的homebrew重新安装节点,因为自制软件安装它没有sudo.简短评论:没有帮助

macos objective-c nstask node.js ionic

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

如何直接从Finder运行Android Studio项目?

如何从Finder打开Android Studio项目?我看到下面的文件列表.是否可以双击其中一个以便Android Studio打开它?

在此输入图像描述

android android-studio

8
推荐指数
2
解决办法
819
查看次数

异常断点处于活动状态时,应用程序在启动时崩溃

我刚开始继续开发一款适用于商店的传统iPad应用程序.

我注意到项目中的异常断点未启用.当我启用它时,应用程序在启动时崩溃(设备和模拟器),但在输出窗口中没有给出任何信息,而在线程视图中只有相当无用的信息(见下文)

我试着解决它..

  • 通过将Autolayout设置为关闭.
  • 通过编辑和重新保存故事板文件..但到目前为止没有运气.

我的猜测是,故事板中的某些内容被破坏了,因为App Delegates"确实完成了启动......"方法无法实现.

有没有办法进一步追踪崩盘?如果没有启用异常断点,应用程序将起作用.但我很乐意使用异常断点.

在此输入图像描述

xcode ios

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

使用PromiseKit强制顺序下载

我正在使用PromiseKit,并希望强制顺序下载JSON.JSON的数量可能会改变.

我已阅读有关链接.如果我有3个固定数量的下载量,那就没问题了.

但是,如果我想要按顺序下载的下载次数变化怎么办?

这是我的2个URL的代码.我想知道如何通过dateUrlArray[i]迭代遍历数组来做到这一点?

 - (void)downloadJSONWithPromiseKitDateArray:(NSMutableArray *)dateUrlArray {
    [self.operationManager GET:dateUrlArray[0]
                    parameters:nil]
    .then(^(id responseObject, AFHTTPRequestOperation *operation) {
        NSDictionary *resultDictionary = (NSDictionary *) responseObject;
        Menu *menu = [JsonMapper mapMenuFromDictionary:resultDictionary];
        if (menu) {
            [[DataAccess instance] addMenuToRealm:menu];
        }
        return [self.operationManager GET:dateUrlArray[1]
                               parameters:nil];
    }).then(^(id responseObject, AFHTTPRequestOperation *operation) {
        NSDictionary *resultDictionary = (NSDictionary *) responseObject;

        Menu *menu = [JsonMapper mapMenuFromDictionary:resultDictionary];
        if (menu) {
            [[DataAccess instance] addMenuToRealm:menu];
        }
    })
    .catch(^(NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [self handleCatchwithError:error];
        });
    }).finally(^{
        dispatch_async(dispatch_get_main_queue(), ^{
            DDLogInfo(@".....finally");
        });
    }); …
Run Code Online (Sandbox Code Playgroud)

objective-c promise ios promisekit

6
推荐指数
2
解决办法
2013
查看次数