小编sky*_*der的帖子

不合格的设备部分出现在Xcode 6.xx中

安装Xcode 6后,我的设备移动到灰色部分Ineligible Devices,我无法选择它们作为部署目标:

在此输入图像描述

更新:

在所有版本中都会发生此错误Xcode 6.x.x.造成这个问题的原因有很多种

请查看此解决方案列表 以获取更多详

ios xcode6

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

如何导出"胖"Cocoa Touch Framework(用于模拟器和设备)?

使用Xcode 6,我们可以创建自己的Dynamic Cocoa Frameworks.

在此输入图像描述

因为:

  • 模拟器仍然使用32-bit

  • 从2015年6月1日开始,提交到App Store的应用更新必须包含64位支持,并使用iOS 8 SDK(developer.apple.com)构建

我们必须使胖库在设备和模拟器上运行项目.即支持Frameworks中的32位和64位.

但我没有找到任何手册,如何导出通用胖框架以便将来与其他项目集成(并与某人共享此库).

以下是我重现的步骤:

  1. 设置ONLY_ACTIVE_ARCH=NOBuild Settings

    在此输入图像描述

  2. 支持添加armv7 armv7s arm64 i386 x86_64Architectures(肯定)

在此输入图像描述

  1. 构建框架并在Finder中打开它:

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

  1. 将此框架添加到另一个项目中

实际结果:

但最终我仍然遇到在设备和模拟器上同时使用此框架运行项目的问题.

  • 如果我从Debug-iphoneos文件夹中获取框架- 它适用于设备并在模拟器上获取错误:ld: symbol(s) not found for architecture i386

    xcrun lipo -info CoreActionSheetPicker
    
    Run Code Online (Sandbox Code Playgroud)

    胖文件中的体系结构:CoreActionSheetPicker是:armv7 armv7s arm64

  • 如果我从Debug-iphonesimulator文件夹中获取框架- 它适用于模拟器.我在设备上有错误:ld: symbol(s) not found for architecture arm64

    xcrun lipo -info CoreActionSheetPicker
    
    Run Code Online (Sandbox Code Playgroud)

    胖文件中的体系结构:CoreActionSheetPicker是:i386 x86_64

那么,如何创建一个适用于设备和模拟器的动态框架?

这个答案与Xcode 6 iOS …

xcode cocoa-touch frameworks ios ios-universal-framework

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

尚不支持类变量

我使用拆分视图控制器作为初始视图控制器开始我的项目,并从故事板自动启动它.

一般地,通过该用户界面的应用程序有一个且只有一个拆分视图控制器作为根,所以我创建一个静态变量在子类,并将其设置初始化已完成时.

所以我想用swift试试这个行为.

我在iBook上阅读了关于Type属性(带有static和class关键字)的Swift编程语言指南,并尝试了一段代码:

import UIKit

class SplitViewController: UISplitViewController {

    class func sharedInstance() -> SplitViewController {
        return SplitViewController.instance
    }

    class let instance: SplitViewController = nil

    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
        self.initialization()
    }

    init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder);
        self.initialization()
    }

    func initialization() {
        SplitViewController.instance = self;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当Xcode说不支持类型属性的class关键字时,我想通了.

图像中的错误细节

你有解决方案吗?

xcode swift

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

如何弃用Xcode中的方法

我们将我们的库提供给客户,我想将一些方法标记为"已弃用",因为我们更改了它们(就像Apple在iPhone SDK中所做的那样).

我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED映射到的预处理器宏__AVAILABILITY_INTERNAL,它被映射到__attribute__((deprecated))......

好吧,我对这些东西有点困惑!

有谁知道这件事?

xcode cocoa cocoa-touch objective-c deprecated

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

如何在Xcode中"删除派生数据"?

Xcode5中,有一个简单的选项来删除派生数据:

在管理器菜单(cmd+ shift+ 2)中:

在此输入图像描述

但是Xcode6的新界面没有类似的选择.

有没有快速方法可以删除这个Xcode6接口?

或者现在我应该手动删除系统中的这个文件夹?

xcode ios-simulator xcode6

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

[NSNull null]和nil有什么区别?

这是我看到的上下文:

NSMutableArray *controllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < kNumberOfPages; i++) {
    [controllers addObject:[NSNull null]];
}
Run Code Online (Sandbox Code Playgroud)

为什么不在那个地方零?

null cocoa cocoa-touch objective-c nsnull

46
推荐指数
4
解决办法
3万
查看次数

iOS8扩展需要自己的配置文件吗?

我正在启动iOS 8扩展,但我无法在我的设备上运行它.尝试运行它时的错误是:

找不到匹配的配置文件

构建设置("ExtensionName")中指定的配置文件的AppID net.company.AppName与您的软件包标识符不匹配net.company.AppName.ExtensionName.Xcode可以通过从成员中心下载新的配置文件来解决此问题.

  1. 我是否需要为主应用和扩展程序提供单独的配置文件?
  2. 他们应该共享一个包标识符(默认情况下,它会将扩展名添加到包标识符中,所以可能不会)?
  3. 如果它有一个单独的包标识符,那么它在配置文件中是如何反映出来的(如果有一个单独的标识符)?

xcode ios bundle-identifier ios8 ios-app-extension

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

尝试呈现模态视图控制器时的UIViewControllerHierarchyInconsistency

尝试使用以下代码显示模态视图控制器

MapViewController *mapView = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil];
    mapView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self.navigationController presentModalViewController:mapView animated:YES];
    [mapView release];
Run Code Online (Sandbox Code Playgroud)

继续收到以下错误..

'UIViewControllerHierarchyInconsistency', reason: 'A view can only be associated with at most one view controller at a time! View <UIView: 0x1ed815a0; frame = (0 20; 320 460); autoresize = W+H; layer = <CALayer: 0x1ed81600>> is associated with <UIViewController: 0x1ed835a0>. Clear this association before associating this view with <MapViewController: 0x1dd947c0>.'
Run Code Online (Sandbox Code Playgroud)

这是一个我几个月没碰过的旧项目,想知道什么可能导致这样的错误?

xcode objective-c xib uiviewcontroller ios

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

当我必须在Swift中选择类,结构和枚举时,我应该如何推理?

由于类,结构和枚举都具有构造函数,属性和计算属性,因此在选择它们时应如何推理?

swift

35
推荐指数
6
解决办法
6265
查看次数

在iOS8中显示带有UIActionSheet的UIPickerView无法正常工作

iOS8中显示UIPickerView与无法正常工作UIActionSheet

该代码适用于iOS7,但它在iOS8不起作用.我确定这是因为在iOS8中不推荐使用UIActionSheet 而Apple建议使用UIAlertController.

但是,如何在iOS8中做到这一点?我应该用UIAlertController

iOS7:
在此输入图像描述

iOS8:
在此输入图像描述

编辑:

我的GitHub项目解决了这个问题.

uipickerview uiactionsheet ios uialertcontroller actionsheetpicker

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