小编Sta*_*ash的帖子

故事板和SVN冲突

这是我们在故事板介绍之前从未处理过的问题 - 只要UI中存在冲突的可能性,我们就确保没有2个开发人员同时处理同一个XIB文件.我们避免解决XIB冲突的原因是可能存在有问题的副作用(XIB以XML格式表示,因此没有合并2个版本的"好"方法).

现在我们面临这个问题,因为我们所有的UI元素都在同一个.storyboard文件中 - 防止同时处理项目中的任何2个UI元素使得并行工作变得非常困难.

有关如何解决这个问题的任何建议?在此先感谢您的努力.

svn storyboard ios

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

Autolayout约束 - 键盘

我试图平滑地制作一个具有自动布局约束的桌面视图.我在我的.h中引用了约束"keyboardHeight",并在IB中将其链接起来.我想要做的就是在弹出窗口时用键盘为表格视图设置动画.这是我的代码:

- (void)keyboardWillShow:(NSNotification *)notification
{
    NSDictionary *info = [notification userInfo];
    NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
    NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    CGRect keyboardFrame = [kbFrame CGRectValue];
    CGFloat height = keyboardFrame.size.height;

    [UIView animateWithDuration:animationDuration animations:^{
        self.keyboardHeight.constant = -height;
        [self.view setNeedsLayout];
    }];
}
Run Code Online (Sandbox Code Playgroud)

事情是动画块是瞬时的,我看到在键盘完成动画之前出现了空格.所以基本上我看到视图的白色背景,因为键盘是动画.只要键盘是动画,我就无法使动画持续.

我接近这个错误的方式吗?提前致谢!

objective-c uikeyboard ios autolayout

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

XCode 4.2 SVN问题

自从我升级到4.2以来,我无法将项目存储库连接到XCode.我有一个本地服务器,可以从本地网络外部访问转发端口.我有一个指向外部IP的DNS记录.当我明确定义外部ip(即https://123.456.789.000/svn/ ..)时,存储库已正确链接,没有问题.当我指定内部地址时,这也有效.问题是当我使用存储库dns时 - XCode显示一个带有"Host Unreachable"的红点.我确信这是一个特定于XCode 4.2的问题,因为我在其他客户端中尝试过这个问题,包括较旧的XCode版本.基本问题是 - 外部DNS不能与https一起使用.
有任何想法吗?

svn https xcode

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

在iOS设备上检测活动的AVAudioSessions

我想知道这是否可行 - 我的应用程序激活一个初始化为的音频会话:

[[[AVAudioSession alloc] init] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error];
Run Code Online (Sandbox Code Playgroud)

我希望能够理解何时播放来自其他应用程序或操作系统的其他音频会话.

我知道实现委托方法的能力beginInterruption:,endInterruption但由于AVAudioSessionCategoryOptionMixWithOthers我正在使用的选项,这些方法不会被调用.

有没有办法在不使用私有API的情况下实现这一目标?

提前致谢.

cocoa-touch objective-c ios avaudiosession

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

将Objective-C块定义为属性 - 最佳实践

我最近遇到了一个Apple文档,它显示了一个块的以下属性声明:

@interface XYZObject : NSObject
@property (copy) void (^blockProperty)(void);
@end
Run Code Online (Sandbox Code Playgroud)

此外,本文还指出:

注意:您应该将copy指定为属性属性,因为需要复制块以跟踪其在原始范围之外的捕获状态.在使用自动引用计数时,您不必担心这一点,因为它会自动发生,但属性属性的最佳做法是显示结果行为.有关更多信息,请参阅块编程主题.

我还阅读了建议的块编程主题,但没有找到任何相关的内容.

我仍然很好奇为什么将块属性定义为"复制"是最佳实践.如果您有一个好的答案,请尝试区分ARC和MRC差异(如果有的话).

谢谢

objective-c ios objective-c-blocks automatic-ref-counting

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

Swift断言生产应用程序中的行为

我正在阅读Swift电子书中的Assertions部分,看起来断言与Objective-C对应物的工作方式非常相似.但是,在作为生产应用程序运行时,我可以在文档中找不到任何关于运行时行为的信息.Objective-C NSAssert承诺永远不会因断言失败而终止生产应用程序.Swift中的情况是一样的吗?

xcode assert objective-c ios swift

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

iOS 8.0 - "无法及时更新场景"崩溃

我在iOS 8.0上运行时遇到了以下崩溃.这是我第一次看到这个,所以任何观察都会有所帮助:

Incident Identifier: C39AF13A-D02B-40B1-8FC3-CFED8226D6FA
CrashReporter Key:   dace0b0fe53a1661c59ffa598b3a139a6177d713
Hardware Model:      iPhone7,2
Process:             Vieu [435]
Path:                /private/var/mobile/Containers/Bundle/Application/36CE6BFB-F90E-452B-8A4F-2B352F95DE48/Vieu.app/Vieu
Identifier:          com.vieu.mobile
Version:             140929 (1.0)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]

Date/Time:           2014-09-29 17:12:47.878 -0700
Launch Time:         2014-09-29 15:39:55.349 -0700
OS Version:          iOS 8.0.2 (12A405)
Report Version:      105

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread:  0

Application Specific Information:
com.vieu.mobile failed to scene-update in time

Elapsed total CPU time (seconds): 15.910 (user 15.910, system 0.000), 77% CPU 
Elapsed application CPU time …
Run Code Online (Sandbox Code Playgroud)

crash-reports ios ios8

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

在iOS6.0上使用FBNativeDialogs发布到Facebook时发生不一致的崩溃

我已经在这个问题上苦苦挣扎了一段时间,我似乎无法准确地再现它以描述确切的用例.基本上,我正在做的是发出打开原生iOS 6.0 Facebook共享对话框的请求(使用Facebook iOS SDK 3.1.1):

if ([[SocialManager sharedManager] isNativeFacebookShareDialogAvailable]) {

        if (!url) {
            url = [NSURL URLWithString:@""];
        }

        if (!imageUrl) {
            imageUrl = [NSURL URLWithString:@""];
        }

        dispatch_async(backgroundQueue, ^{

            NSData *imageData  = [NSData dataWithContentsOfURL:imageUrl];
            UIImage *image     = [UIImage imageWithData:imageData];

            if (!image) {
                image = [[UIImage alloc] init];
            }

            if ([FBNativeDialogs canPresentShareDialogWithSession:[FBSession activeSession]]) {

                dispatch_async(dispatch_get_main_queue(), ^{
                    [FBNativeDialogs presentShareDialogModallyFrom:sender initialText:initialText images:@[image] urls:@[url] handler:^(FBNativeDialogResult result, NSError *error) {
                        if (error) {
                            failBlock([[error userInfo] description]);
                        } else {
                            if (result == FBNativeDialogResultSucceeded) {
                                completionBlock(); …
Run Code Online (Sandbox Code Playgroud)

objective-c ios facebook-ios-sdk fbnativedialogs

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

在iOS上创建良好的自定义表情聊天体验

我正在尝试提出可能的实现,基本上是一种扩展UITextView,具有键入内嵌图像的能力.

我见过几十个开源项目,它们处理用自定义表情符号创建标签,UIWebViews用文本内联绘制图像等等,但没有一个不运行本机UITextView行为:

  • 自动更正
  • 拼字
  • 放大镜
  • 选择工具提示和功能
  • 期间的双倍空间

我在应用程序商店中看到的唯一一款可以输入自定义表情符号的强大体验的应用程序是Viber.

所以问题是 - 他们是怎么做到的?任何想法,笔记或参考将不胜感激.

谢谢!

在此输入图像描述 在此输入图像描述 在此输入图像描述

cocoa-touch objective-c uiwebview uitextview ios

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

设备UDID的替代品 - 准备自己

可能重复:
UIDevice uniqueIdentifier已弃用 - 现在该怎么办?

我知道关于这一点有很多问题,但我认为因为Apple正在提前并主动拒绝使用UDID的应用程序(http://pulse.me/s/7mzKE),我们开发人员需要采取积极的态度并大量讨论此事.

所以问题是 - 除了访问它的UDID属性之外,什么是唯一的设备识别的良好,稳定和正确的替代方案?

app-store udid ios

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