小编jps*_*asi的帖子

是否有可能在Snow Leopard上获得适用于Xcode 4.2的iOS 5.1 SDK?

我还有雪豹.我有Xcode 4.2用于iOS开发.今天早上我将iPhone和iPad升级到iOS 5.1.

但是Xcode 4.2没有检测到我的设备进行测试.对于Xcode 4.2,我在Apple开发者网站上找不到iOS 5.1 SDK图像.

我不想在这个时候升级到Lion以获得XCode 4.3.

我现在可以使用Xcode 4.2(在Snow Leopard上)进行iOS开发吗?

xcode osx-snow-leopard xcode4.2 ios5.1

139
推荐指数
7
解决办法
7万
查看次数

多个故事板的状态恢复

我正在开发一个包含多个故事板的项目.我想在这个项目中实现状态恢复.我在将第二个故事板上的ViewControllers链接到状态恢复过程时遇到问题.

encodeRestorableStateWithCoder:&decodeRestorableStateWithCoder:仅为与主故事板关联的ViewControllers调用方法.

如何将第二个故事板中的ViewControllers链接到状态恢复过程?

storyboard ios ios8

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

Swift 2 API可用性检查故事板

我有一个现有的iOS应用程序,它支持iOS 8.我想为iOS 9添加新功能.

我为iOS 9创建了一个新的故事板,它使用了UIStackView等iOS 9功能.基于Device OS版本实例化适当的故事板文件.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let storyboard: UIStoryboard
    if #available(iOS 9, *, *) {
        storyboard = UIStoryboard(name: "Main", bundle: nil)
    } else {
        storyboard = UIStoryboard(name: "MainOld", bundle: nil)
    }
    let mainViewController = storyboard.instantiateInitialViewController()
    window?.rootViewController = mainViewController
    window?.makeKeyAndVisible()
    return true
}
Run Code Online (Sandbox Code Playgroud)

但我在Main.storyboard"iOS 9.0之前的UIStackView"上遇到编译错误

我正在使用Xcode 7 beta 5.

如何使用Swift 2 #availability检查在iOS 8支持的项目中使用iOS 9相关功能

swift ios9 swift2

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

ReactiveCocoa基于NSTableView选择状态启用NSButton

我刚开始学习Reactive Cocoa.我正在编写cocoa应用程序,我只想在NSTableView中选择至少一行时启用NSButton.

我在awakeFromNib中使用以下代码

RACSignal *enableSignal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
    @strongify(self);
    if ([self.genreListTableView numberOfSelectedRows] > 0) {
        [subscriber sendNext:@YES];
    } else {
        [subscriber sendNext:@NO];
    }
    return nil;
}];

[self.addButton rac_liftSelector:@selector(setEnabled:)
                      withSignals:enableSignal,nil];
Run Code Online (Sandbox Code Playgroud)

此代码执行正常并在应用程序启动期间禁用了addButton,因为最初没有选择行.

我想在选择TableView条目时启用添加按钮.我不知道如何以反应的方式实现.

我可以通过以下方式实现所需的行为.不确定这是否是实现它的正确方法.

     [[self rac_signalForSelector:@selector(tableViewSelectionDidChange:)
                fromProtocol:@protocol(NSTableViewDelegate)] subscribeNext:^(RACTuple *value) {
    NSNotification *notification = value.first;
    if (self.genreListTableView == notification.object) {
        if ([self.genreListTableView numberOfSelectedRows] > 0) {
            [self.addButton setEnabled:TRUE];
        } else {
            [self.addButton setEnabled:FALSE];
        }
    }
}];
Run Code Online (Sandbox Code Playgroud)

我们赞赏任何建议以反应方式处理要求.

谢谢

cocoa objective-c reactive-cocoa

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

ReactiveCocoa捕获所有错误 - 对集合对象的异步网络操作

我刚刚开始学习reactivecocoa.我想对集合对象中的每个条目执行网络操作并解析返回结果,如果报告错误,则将该条目标记为无效.

以下示例说明了该问题.urlList数组有4个条目.2个条目生成错误(生成连接关闭和超时错误).因此不会通知所有条目的订阅块.

- (RACSignal *)processStationList
{
    NSArray *urlList = @[@"http://66.55.93.205/listen.pls",@"http://84.20.77.50:8000/listen.pls",@"http://valekalter.serverroom.us:9264/listen.pls", @"http://66.55.93.205:8080/listen.pls"];

    return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        [[urlList.rac_sequence.signal flattenMap:^RACStream *(NSString *urlString) {
            NSLog(@"flatten map %@",urlString);
            return [self fetchStationURLListForStation:urlString];
        }] subscribeNext:^(id x) {
            NSLog(@"suscribe next %@",x);
            [subscriber sendNext:x];
        } error:^(NSError *error) {
            NSLog(@"suscribe error %@",error);
            [subscriber sendNext:nil];
        } completed:^{
            NSLog(@"completed");
            [subscriber sendCompleted];
        }];
        return nil;
    }];
}
    - (RACSignal *)fetchStationURLListForStation:(NSString *)urlString
    {
        NSURL *url = [NSURL URLWithString:urlString];
        NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
        return [[NSURLConnection rac_sendAsynchronousRequest:urlRequest] map:^(RACTuple *value) {

        // for simplicity …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c reactive-cocoa

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

如何在Swift中使用CoreAudio API

我正在将流媒体音频引擎迁移到swift.我发现很难在swift中使用C Audio API.

我有一个AudioFileStreamOpen api的问题,它需要2个C函数作为参数.我不知道如何使用这个API很快.

AudioFileStreamOpen(self as UnsafePointer<()>, propertyProc, packetProc, kAudioFileMP3Type, audioStreamId)
Run Code Online (Sandbox Code Playgroud)

我为此API定义了如下的回调方法.但我得到编译错误.

func propertyProc(inClientData: UnsafePointer<()>,inFileStreamId: AudioFileStreamID,inPropertyId: AudioFileStreamPropertyID,ioFlags: UnsafePointer<UInt32>) -> Void {
  .....      
    }

func packetProc(inClientData: UnsafePointer<()>,inNumberOfBytes: UInt32,inNumberOfPackets: UInt32, ConstUnsafePointer<()>, inPacketDescriptions: UnsafePointer<AudioStreamPacketDescription>) -> Void {
    .....
}
Run Code Online (Sandbox Code Playgroud)

感谢您在swift中正确定义此C API

编译错误

c core-audio ios swift

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

AWS S3上传 - 使用AccessKey,SecretKey和SessionToken - iOS SDK

我正在开发iOS应用程序,我需要将图像上传到AWS S3Bucket.我从服务器获得临时凭证(accessKey,secretKey,sessionToken和bucketName)以上传图像.

我发现很难确定使用此凭据上传图像的正确API.

AWS示例程序使用AWSCognitoCredentialsProvider提供.

我有可用的Android版代码将图像上传到S3.但我在iOS SDK中找不到相应的API.

 BasicSessionCredentials basiccredentials = new BasicSessionCredentials(
                            MY_ACCESS_KEY_ID, MY_SECRET_KEY,
                            MY_SESSION_TOKEN);
AmazonS3Client s3Client = new AmazonS3Client(
                            basiccredentials);
TransferManager manager = new TransferManager(s3Client);
PutObjectRequest por = new PutObjectRequest(Constants.getPictureBucket(), Constants.PICTURE_NAME,file name);
 manager.upload(por);
Run Code Online (Sandbox Code Playgroud)

iOS SDK具有以下CredentialsProvider类

  1. AWSCognitoCredentialsProvider
  2. AWSStaticCredentialsProvider
  3. AWSWebIdentityCredentialsProvider

AWSStaticCredentialsProvider类仅接受accessKeysecretKey.其他2个类需要不同的参数.

当我使用带有accessKey和secretKey的AWSStaticCredentialsProvider上传图像时,我收到以下错误消息

上传失败:[错误域= NSURLErrorDomain代码= -1017"无法解析响应"UserInfo = 0x7f8773f70ee0 {NSUnderlyingError = 0x7f8773f4bbb0"操作无法完成.(kCFErrorDomainCFNetwork error -1017.)",NSErrorFailingURLStringKey = https:// s3. amazonaws.com/playfiksprofilepictures/429bfd812ea08e706bab868f3cd8b9c6.jpg,NSErrorFailingURLKey = https://s3.amazonaws.com/playfiksprofilepictures/429bfd812ea08e706bab868f3cd8b9c6.jpg,_kCFStreamErrorDomainKey = 4,_kCFStreamErrorCodeKey = -1,NSLocalizedDescription =无法解析响应}]

此错误消息不清楚凭据提供程序或其他问题是否存在

任何帮助都非常感谢您解决此问题

谢谢

编辑

我使用了@ user3467204提供的示例程序

以下是带有错误消息的输出(您提供的AWS Access Key ID在我们的记录中不存在).但是使用相同的密钥,android java代码工作正常.

Android代码使用accessKey,secrectKey和sessionToken,但iOS代码仅使用accessKey和secrectKey.

2015-06-01 19:42:55.747 …

amazon-s3 amazon-web-services ios

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

iPhone如何为我的自定义视图设置clearcolor

我通过扩展UIView创建一个自定义StyleLabel,它提供了特定类型字符串的链接.我已成功实现此功能.

我使用TableViewCell这个标签连同UILabel.i设置的UILabel与StyleLabel背景色设置为clearColor.UILabel工作正常,但StyleLabel在blackColor中显示背景.

我不确定以下代码有什么问题.

这是CustomLabel类的drawRect方法

-(void) drawRect:(CGRect)rect 
{
     CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextClearRect(ctx, rect);
    [[UIColor clearColor] setFill];
    CGContextAddRect(ctx, rect);
    CGContextDrawPath(ctx, kCGPathFill);
    [_text drawText:ctx];

}
Run Code Online (Sandbox Code Playgroud)

谢谢Sasikumar

iphone

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