标签: xcode10

离子科尔多瓦构建 ios --emulator 不显示失败或成功构建

我刚刚将我的 Xcode 更新到版本 10.0 (10A255),它也在我的 MacBook 上运行。之后我使用了命令

sudo ionic cordova build ios --emulator --prod
Run Code Online (Sandbox Code Playgroud)

然后它开始正常构建,但构建似乎永远不会结束,因为此过程永远不会返回“构建失败”或“构建成功”。它显然突然结束,这是终端中的输出:

Running app-scripts build: --prod --platform ios --target cordova
[16:09:56]  build prod started ... 
[16:09:56]  clean started ... 
[16:09:56]  clean finished in 3 ms 
[16:09:56]  copy started ... 
[16:09:57]  deeplinks started ... 
[16:09:58]  deeplinks finished in 1.52 s 
[16:09:58]  ngc started ... 
[16:10:27]  ngc finished in 28.76 s 
[16:10:27]  preprocess started ... 
[16:10:27]  preprocess finished in less than 1 ms 
[16:10:27]  webpack started ... 
[16:10:27]  copy …
Run Code Online (Sandbox Code Playgroud)

cordova ionic-framework ionic3 xcode10

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

当我使用自定义 @IBDesignable UITextfield 类时,视图控制器(主故事板)中的所有对象都会消失。(Xcode 10,Swift 4.2)

当我使用自定义 @IBDesignable UITextfield 类时,视图控制器(主故事板)中的所有对象都会消失。主故事板如下所示:

在此处输入图片说明

(Xcode 10, Swift 4.2)
如你所见,它也显示了一个错误。但是当我运行应用程序时,Xcode 显示“构建成功”。

我使用自定义 @IBDesignable UITextfield 类,如下所示:

import UIKit
import AKMaskField

@IBDesignable

class MyTextFieldStyle: AKMaskField {

@IBInspectable var secureEntry : Bool = false

@IBInspectable var myBorderColor : UIColor = UIColor.white {
    didSet {
        self.layer.borderColor = myBorderColor.cgColor
    }
}

@objc func secureButtonPressed (sender: UIButton) {
    self.secureEntry = !self.secureEntry
    self.isSecureTextEntry = self.secureEntry
}

override func awakeFromNib() {
    super.awakeFromNib() 

    if self.secureEntry {

        let btn = UIButton(type: .custom)
        btn.setImage(#imageLiteral(resourceName: "eye-17-glyph-16"), for: .normal)
        btn.addTarget(self, action: #selector(self.secureButtonPressed(sender:)), for: .touchUpInside) …
Run Code Online (Sandbox Code Playgroud)

xcode swift xcode10 swift4.2

5
推荐指数
0
解决办法
201
查看次数

Xcode 10 警告:ONLY_ACTIVE_ARCH=YES 请求多个 ARCHS 并且没有运行目标来提供活动架构

在 Xcode 中,当运行目标设置为“通用 iOS 设备”并使用推荐ONLY_ACTIVE_ARCH=YES的调试配置设置时,ONLY_ACTIVE_ARCH=YES requested with multiple ARCHS and no run destination to provide an active architecture生成警告时。这是有道理的,因为没有选择运行目标,但这是一个烦人的警告(它是为每个构建目标依赖项生成的)。但是,如果ONLY_ACTIVE_ARCH设置为,NO那么您将获得建议的项目更改以将其设置YES为调试配置。当运行目标设置为“通用 iOS 设备”时,有没有办法避免此警告?

xcode ios xcode10

5
推荐指数
0
解决办法
797
查看次数

项目名称-Swift.h 未找到/生成 Xcode 10

在 Xcode 10 中运行我的项目会引发此错误

fatal error: 'Stories-Swift.h' file not found

我尝试了多种方法,包括:

  • 向项目添加一个新的 swift 文件并重建它
  • 设置Defines ModulesYes
  • 仔细检查我的SWIFT_OBJC_INTERFACE_HEADER_NAME并将其设置为$(PROJECT_NAME)-Swift.h

我检查了我的派生数据,没有 ProjectName-Swift.h 的痕迹。

我是不是错过了一些明显的东西,TIA。

xcode swift objective-c-swift-bridge bridging-header xcode10

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

通过 Coregraphic 画线:renderInContext 崩溃

我正在使用 CoreGraphics 画一条线。我刚刚更新了 Xcode 10 和 iOS 12。在 iOS 12 中,我的应用程序崩溃了。尽管如此,它在 iOS 11.4.1 和之前的版本中仍然运行良好。我无法解决这个问题。请在下面找到我的代码

-(void)drawRect:(CGRect)rect
{
    CGPoint mid1 = midPoint(previousPoint1, previousPoint2); 
    CGPoint mid2 = midPoint(currentPoint, previousPoint1);

    CGContextRef context = UIGraphicsGetCurrentContext(); 

    [self.layer renderInContext:context];

    CGContextMoveToPoint(context, mid1.x, mid1.y);
    CGContextAddQuadCurveToPoint(context, previousPoint1.x, previousPoint1.y, mid2.x, mid2.y); 
    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, self.lineWidth);
    CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);

    CGContextSetShadow(context, CGSizeMake(-16.00, -5.0f), 5.0f);

    CGContextStrokePath(context);

    [super drawRect:rect];
    [curImage release];
} 
Run Code Online (Sandbox Code Playgroud)

下面是touchesMoved方法。

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{

    UITouch *touch  = [touches anyObject];

    previousPoint2  = previousPoint1;
    previousPoint1  = [touch previousLocationInView:self];
    currentPoint    = [touch locationInView:self]; …
Run Code Online (Sandbox Code Playgroud)

iphone core-graphics objective-c ios12 xcode10

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

Xcode 10 构建阶段 Shell 脚本

在我们的项目中,我们从 git tag 等派生我们的发布版本,然后使用如下 shell 脚本将其写入构建文件夹的 Info.plist:

GIT_RELEASE_VERSION=$(some git command) defaults write "${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH%.*}" "CFBundleShortVersionString" "${GIT_RELEASE_VERSION#*v}"

这适用于所有过去的 Xcode 版本,但在 Xcode 10 的新构建系统中,这未能实际更新 info.list 文件中的 CFBundleShortVersionString。不过,该值已使用 Xcode 10 的旧版构建系统正确更新。

我在脚本中添加了一些 echo 并比较了新系统和旧系统上的构建日志,看不出任何区别:

echo "git release version:" ${GIT_RELEASE_VERSION} echo "info path:" ${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH%.*} echo "grv:" "${GIT_RELEASE_VERSION#*v}"

不确定是否有人在 New Build System 上遇到过类似的问题?

xcode10

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

具有不同图标的应用程序“风味”在方案中显示为相同的图标

我有一个具有多种不同构建配置的应用程序目标(不要与具有两种配置的多个目标相混淆)。我为每个配置创建了一个方案,这意味着我可以单击下拉菜单并选择我应该构建和运行的应用程序配置。在此下拉列表中,所有应用程序都具有相同的图标

需要明确的是,在设备(或模拟器)上运行应用程序时,它们都会得到正确的图标。最后,安装时一切正常。

这很烦人。这只是这个列表。它一直都是这样(只要我记得)。直到现在,我还没有真正费心去找出为什么会这样。

直到今天,下拉列表中的所有应用程序都使用相同的图标,但该图标是该项目的“主要”图标。“主应用程序”的图标,这是第一个“味道”。在我今天更新到Xcode 10 后,它们仍然具有相同的图标,但它与以前的图标不同。它是最不重要的构建配置之一的图标。方案清单

它应该是这样的: 在此处输入图片说明

(这是来自另一个项目,其中我们使用了具有两种配置的多个目标,而不是具有多种配置的单个目标)

有没有办法来解决这个问题?或者控制使用哪个图标?

xcode xcode10

5
推荐指数
0
解决办法
211
查看次数

Xcode 10 - 如何刷新 Siri 快捷方式意图定义文件的本地化?

我有一个 Siri 快捷方式的意图定义文件。当我单击本地化 Xcode 时,可以很好地创建本地化文件,使用的每个字符串都带有一个 ID。但是,如果我在同一个文件中添加了一个新的意图或者只是在同一个文件中添加了一个新的可能响应,我该如何刷新呢?我目前只找到两种方法:

  • 删除本地化并重新设置新的(这会使您丢失所有语言的所有翻译字符串,除了默认)。
  • 导出整个应用程序的所有翻译并重新导入(如果您的完整应用程序尚未准备好进行新的本地化导出/导入,则会导致问题)。

那么,有人知道刷新意图定义文件的自动本地化的方法吗?

localization ios xcode10

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

在 iOS 12 中自定义 UIDatePicker 中的背景和文本颜色

在以前的 iOS 版本中,我能够使用如下内容更改文本和背景颜色:

let datePicker = UIDatePicker()
datePicker.datePickerMode = UIDatePickerMode.date
datePicker.setValue(UIColor.white, forKey: "textColor")
datePicker.backgroundColor = UIColor.black.withAlphaComponent(0.6)
Run Code Online (Sandbox Code Playgroud)

这不再适用于 Xcode 10/iOS 12。日期选择器以其默认颜色显示。有没有人找到在 iOS 12 中自定义文本和背景颜色的解决方案?

uidatepicker uikit ios12 xcode10

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

您如何在 Xcode 10 脚本构建阶段使用文件列表 (.xcfilelist)?

从 Xcode 10 开始,构建脚本阶段可以使用文件列表 ( .xcfilelist) 进行输入和输出,而不是直接指定输入/输出文件。这些文件似乎支持注释(WWDC 示例在顶部显示了命令行注释)、空行(也在示例中),并且希望每行一个文件路径。如果这些文件包含构建设置(例如$(SRCROOT)),它们会在调用脚本之前展开,就像如果文件路径直接作为输入/输出文件被提供一样,它们会被展开。

这听起来是一个很棒的功能,但是您将如何在实际脚本中使用这些文件列表?

当直接指定文件时,你有 shell 变量SCRIPT_INPUT_FILE_COUNTSCRIPT_OUTPUT_FILE_COUNT然后是每个输入/输出文件的一个变量,命名SCRIPT_INPUT_FILE_#SCRIPT_OUTPUT_FILE_#位置#曾经是一个向上计数的数字。假设您有相同数量的输入/输出文件,此脚本将打印所有文件:

#!/bin/sh
: $((i=0))
while [ $i -lt "$SCRIPT_INPUT_FILE_COUNT" ]
do
    eval fileIn="\$SCRIPT_INPUT_FILE_${i}"
    eval fileOut="\$SCRIPT_OUTPUT_FILE_${i}"
    echo "$fileIn  -->  $fileOut"
    : $((i=i+1))
done
Run Code Online (Sandbox Code Playgroud)

这是一个干净的 POSIX 兼容 shell 脚本,是的,你可以在需要时让它更好,bash但上面的代码应该适用于每个sh兼容的 shell(它在使用#!/bin/sh和 not时也承诺#!/bin/bash)。

但是当使用文件列表时,它SCRIPT_INPUT_FILE_COUNT是 0。相反,你得到SCRIPT_INPUT_FILE_LIST_COUNTandSCRIPT_OUTPUT_FILE_LIST_COUNT和变量SCRIPT_INPUT_FILE_LIST_#and SCRIPT_OUTPUT_FILE_LIST_#,包含预处理文件列表的路径,其中所有注释和空行都已被删除,所有构建设置都已展开。

现在,我将如何在我的脚本中使用这些文件列表?上面的小示例脚本如何使用 Xcode 中的文件列表生成相同的输出?我不是很擅长 shell 脚本,我正在寻找一个干净的解决方案,它不需要任何其他脚本解释器,但sh.

shell xcode sh xcode10

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