小编Dan*_*row的帖子

与故事板文件中的inferredMetricsTieBreakers发生合并冲突

每当我在故事板文件中出现冲突时,我通常都可以解决它.但是,我有一个问题,现在两周内出现两次.

在我的Storyboard文件的最底部,我看到名为"inferredMetricsTieBreakers"的块,其中包含一堆"segue"标签.似乎我本地仓库中的一些segue与远程仓库中的另一个segue相冲突.为了安全起见,我可以"选择两者".但是由于这种情况曾经发生过一次,我担心它会继续发生,并最终在我的故事板文件的末尾有一长串的这些segue引用.

只是想知道是否有人对文件中的这些标签非常了解,或者我是否应该盲目地继续"选择两者"并忽略该问题.

谢谢,-Dan.

xcode interface-builder

45
推荐指数
2
解决办法
8390
查看次数

cocoapods找不到模拟器,pod repo推送失败

我正试图推出一个私人吊舱.当我这样做时,我收到此错误:

- ERROR | [iOS] unknown: Encountered an unknown error (Could not find aios simulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least oneiossimulator listed or otherwise add one.) during validation.

我跑的Xcode 10,我最近的Xcode 10.1测试版我的机器上.此外,我有常规的cocoapods(1.5.3)和最新的测试版(1.6.0.beta.1).

为了降低复杂性,我从我的机器中删除了两个测试版.所以,只是发布的版本.我仍然看到这个错误.

我无法想象这里发生了什么.但有些事情是不可能的.我真的更愿意完全删除Xcode,或者做一些更激烈的事情.但我完全陷入困境.

我团队中的其他人能够提取代码,然后执行操作pod repo push,但我无法使用自己的机器.

感谢您提供任何帮助/建议.

xcode cocoapods

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

Mac上的jenkins,PATH没有设置正确,没有/ usr/local/bin

我最近使用Homebrew安装了Jenkins.我还使用Homebrew安装了Mercurial.

我可以成功克隆一个hg仓库 - 从终端.但如果我尝试在詹金斯的工作中做同样的事情,那就失败了.

所以,在工作中,我告诉Jenkins运行一个shell脚本echo $PATH.果然,路径/usr/local/bin不存在.如果我从终端执行相同的命令,它就在那里.

那么,什么是修改PATH的最佳方法,以便当我从终端回显时,Jenkins正在拉动我正在使用的相同PATH?

注意,Jenkins是从我登录进行这些测试的同一个用户帐户运行的,所以我无法理解为什么会发生这种情况.

macos homebrew launchd jenkins

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

在iOS中拖动时如何修改UIVisualEffectView的模糊性?

目前,我正在使用UIVisualEffectView将模糊应用于图像.

我有一个UIScrollView.当我下拉scrollView时,在我的"scrollViewDidScroll"方法中,我正在更改UIVisualEffectView的alpha.当前的行为是当我在视图中拖动时,模糊半径平滑变化.

问题是,当然,我不应该这样做.获取有关更改UIVisualEffectView的Alpha值的警告.

我见过人们说使用动画进行模糊的平滑过渡,如下所示:如何淡入和淡出UIVisualEffectView和/或UIBlurEffect?

但是,我没有看到任何允许我在此期间执行此操作的内容,例如泛手势或其他内容.我的意思是,如果我设置一个定时量的动画,那一切都很好.但是在拖延期间这样做?

uiviewanimation ios uivisualeffectview

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

是否有 API 来检查 Mac 的麦克风或摄像机是否正在使用中?

是的,我意识到当摄像机打开时我可以只看绿灯。这不是重点。

我想编写一个小实用程序,用于在麦克风或摄像机使用时进行通知。我没有兴趣知道什么应用程序正在使用它。我只想知道麦克风/摄像头是打开还是关闭。

这对于作为父母的我来说。我想我可以得到那些变色的 LED 灯之一,然后当相机/麦克风打开时,我的应用程序可以检测到它,然后向灯发送信号以改变颜色。然后当我的一个孩子走进来时,他们会看到灯是“红色”(意思是,请勿打扰),并且他们会知道我正在参加电话会议。

macos video-conferencing

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

将带有图像的NSAttributedString保存到RTF文件时遇到麻烦

我有一些非常简单的RTF文件输出。当我生成此文档时,用户可以通过电子邮件发送该文档。所有这些都很好。该文档看起来不错。一旦有了NSAttributedString,就制作一个NSData块,并将其写入文件,如下所示:

NSData* rtfData = [attrString dataFromRange:NSMakeRange(0, [attrString length]) documentAttributes:@{NSDocumentTypeDocumentAttribute: NSRTFTextDocumentType} error:&error];
Run Code Online (Sandbox Code Playgroud)

该文件可以通过电子邮件发送。当我检查电子邮件时,一切都很好。

现在,我的任务是在文档顶部添加UIImage。太好了,所以我正在创建这样的属性字符串:

NSTextAttachment *attachment = [[NSTextAttachment alloc] init];

UIImage* image = [UIImage imageNamed:@"logo"];
attachment.image = image;
attachment.bounds = CGRectMake(0.0f, 0.0f, image.size.width, image.size.height);

NSMutableAttributedString *imageAttrString = [[NSAttributedString attributedStringWithAttachment:attachment] mutableCopy];

// sets the paragraph styling of the text attachment

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init] ;

[paragraphStyle setAlignment:NSTextAlignmentCenter];            // centers image horizontally

[paragraphStyle setParagraphSpacing:10.0f];   // adds some padding between the image and the following section

[imageAttrString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [imageAttrString length])]; …
Run Code Online (Sandbox Code Playgroud)

nsattributedstring nstextattachment ios ios7

5
推荐指数
2
解决办法
3497
查看次数

Swift Realm Write方法是Sync或Async Thread

我在我的项目中使用Realm,我想知道该realm.write()方法是否同步。我的例子在这里:

 let realm = try! Realm()
    try! realm.write {
        realm.delete(message)
    }
    realm.invalidate()
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我正在删除领域对象和正在编写的外部花括号 invalidate()

这是我的困惑:

  1. 如果write()是同步的就invalidate()可以

  2. 如果Async比之前的write无效调用,并且领域将释放,但操作在后台运行

谢谢

realm ios swift

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

在 Realm swift 中重命名类的最佳方法

我在我的 iOS 项目中使用了一个“通用”库。这个库创建了一个 Realm 数据库。到目前为止,我只在 iOS 项目中使用过这个库。我现在想在 macOS 项目中使用相同的库。它是Foundation基于的,不使用UIKit,为什么不呢?

问题是:我有一个名为的 Realm 类 Collection

Collection 也是标准 Swift 协议的名称。

虽然我已经能够在我的 iOS 项目上摆脱这个名称冲突,但出于某种原因,我不能在我的 MacOS 项目上做同样的事情——它创建了一个名称集合。

我读到了这个可以像这样使用的符号:

@objc(SpecialCollection)
class Collection: Realm.Object {
   let items: List<ItemObject>
   let name: String
   let url: String
  ....
}
Run Code Online (Sandbox Code Playgroud)

因此,这解决了名称冲突问题。在 ObjC 中,名称会有所不同,但在 Swift 中,我不需要更改任何内容。

除了我本地的 Realm 数据库之外,这一切都很好。我有很多Collection应该重命名的对象SpecialCollection(因为 Realm 在 Swift 下使用 ObjC)。我想执行迁移来执行此操作,但显然还没有支持的方法来执行此操作?我注意到 github 上关于这个问题的票被“监视”了,但不幸的是,仍然没有已发布的解决方案来解决这个问题。

我的所有Collection对象都包含List对象(因此得名)。因此,我尝试对Collection迁移中的所有对象运行枚举......我只需要旧对象,并使用新名称创建一个新对象,如下所示:

 migration.enumerateObjects(ofType: "Collection", { (oldObject, _) in
    migration.create("SpecialCollection", value: oldObject)
 }
Run Code Online (Sandbox Code Playgroud)

但是由于 …

macos realm ios swift realm-migration

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

Jenkins,我如何归档一个子目录(没有上面的整个树结构)?

我正在使用Jenkins每晚构建一个iOS静态框架.我关心的输出是在这个目录中:

IOS /构建/发布-iphoneuniversal/MySpecialProject.framework

我想使用"归档工件"操作来归档"MySpecialProject.framework",但是当我这样做时,它会创建一个包含整个前导目录结构的整个归档.文档说要看看Ant是如何做到这一点的.我对Ant不熟悉,所以我在这里不知所措.

其主要目的是使"MySpecialProject.framework"可用作使用Jenkins构建的其他项目的工件.所以,以为我可以使用"复制工件"插件来做到这一点.但我真的无法通过这里创建一个完整的目录结构.我只是想将"MySpecialProject.framework"作为顶级工件.

提前致谢.

ios jenkins ios-frameworks

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

自动布局阻止我更改视图的中心

我的应用程序的一个功能是自动裁剪图像.

基本的想法是有人会拍一张纸的照片(想想:收据),然后在确定纸张边框后自动裁剪图像.

我可以通过使用OpenCV来确定纸张的边框.所以,我接下来要做的就是更改每个指南的"中心"属性(只需2个水平线和2个垂直"线",可以手动拖动).

然后,在我拨打所有电话以改变4个指南中的每一个之后不久,有其他东西出现并再次设置"中心".(我已经覆盖了"setCenter"来证明这一点).该中心似乎被重置:[UIView(Geometry)_applyISEngineLayoutValues].

我无法弄清楚为什么会发生这种情况,或者如何阻止它,但它可能与约束有关.我的观点是一个简单的UIButton.当用户用手指敲击并拖动它时,会调用一个仅改变中心的动作例程.这有效.

但在另一个案例中,我提出了一个UIImagePickerController.选择图片后,我确定纸张边界,更改"指南"中心,然后在"_applyISEngineLayoutValues"中将它们全部设置回来.

知道这种情况下发生了什么吗?或者我如何设置视图的中心,并让它实际停留?

ios autolayout nslayoutconstraint

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

如何测试使用 UIKit 的 Swift 包?

我最近创建了我的第一个 Swift 包。它目前仅在 iOS 中使用,如果它用于其他任何地方,它可能会在 tvOS 上,但就是这样。

我在使用 UIKit 时遇到了麻烦。我在这里看到了这篇笔记,这确实帮助解决了我的问题:https : //stackoverflow.com/a/58684636/1435520

我使用的(上面提到的)命令是这样的:

swift build -Xswiftc "-sdk" -Xswiftc "`xcrun --sdk iphonesimulator --show-sdk-path`" -Xswiftc "-target" -Xswiftc "x86_64-apple-ios13.0-simulator"
Run Code Online (Sandbox Code Playgroud)

但是,我真的很想进行单元测试。swift test...使用为 提到的相同参数运行swift build。但这给了我一个新的错误:

error: module 'XCTest' was created for incompatible target x86_64-apple-macos10.14

所以,我想我只是想知道是否有可能做到这一点。就像,我怎么能创建一个使用 UIKit 的 Swift 包,并让它可测试?

uikit ios xctest swift-package-manager

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

显示另一个UIWindow的麻烦

我正在写一个iPad应用程序,我正试图UIWindow在我的应用程序的主窗口顶部显示第二个.我要做的主要是创建一个登录窗口(如何使用UISplitViewController呈现登录?),似乎在这里创建第二个窗口可能是一个不错的选择.

我做了一个非常简单的应用程序试试这个.当用户点击按钮时,我正试图显示第二个窗口.这是代码:

- (IBAction)showOtherWindow:(id)sender {
    UIWindow* otherWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

    otherWindow.hidden = NO;
    otherWindow.clipsToBounds = YES;
    otherWindow.windowLevel = UIWindowLevelStatusBar;
    otherWindow.backgroundColor = [UIColor redColor];
    [otherWindow makeKeyAndVisible];
}
Run Code Online (Sandbox Code Playgroud)

我期待在这里看到一个大红色屏幕,但这不会发生 - 没有任何变化.最后,我想让一个较小的窗户浮在上面.但是现在我只想看到一个窗口.

uiwindow ipad ios

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

单个CKRecord中是否存在CKAsset数组的问题?

我写的应用程序将让人们存储几张照片,并将它们与一个对象相关联.

我以为我会使用CloudKit来存储这些图像,就像CKAssets一样.

在CloudKit中,除了其他属性列表类型之外,我还可以创建一个CKAsset,并将文件附加到它(在我的例子中是一个JPEG).我还可以附加任何这些类型的NSArray,包括CKAsset.

我的用户可能会为每个对象发送5张图片,或者可能是30 ...谁知道.

只是想知道是否有人遇到过这样的情况,并且看到了这种方法的缺点.(例如,为每个图像创建单独的CKRecords,并添加对另一个CKRecord的引用).

ios cloudkit ckrecord ckasset

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