我使用脚本在构建时生成应用程序图标(只需为调试模式添加“开发”标题)。使用 ImageMagick 和 Ghostscript(谷歌中有很多例子)非常容易。在我开始使用新的 Xcode 9 之前一切正常。现在,我可以在 MyAppName.app 文件上看到更新的图标,但模拟器/设备显示来自资产的 AppIcon。有什么建议?谢谢
我昨天更新了我的 Xcode(9.0 版),从那以后我再也不能用 clang 编译我的代码了。它适用于苹果本地编译器,但在 macports 中使用 clang 时会出现编译错误。我现在将解释更多细节......
我通常使用 clang 4.0,因为它支持 openmp,我通过创建用户定义的设置在 Xcode 中进行更改,如下图所示。
包含如何在 Xcode 中从 macports 使用 clang 4.0 的图像
这已经完美运行了一段时间,直到我更新到 Xcode 9.0。现在,我从 clang 编译器收到以下错误:
生成多个输出文件时不能指定 -o。
我研究了一下,很多人说这是因为编译表中可能有 .h 文件。我仔细检查过,这不是我的情况。我也认为这个错误会发生在较旧的 Xcode 版本上。
接下来,我附上 Xcode 给出的完整编译命令(虽然有点大!)。
CompileC /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/Objects-normal/x86_64/ComplexFloat.o SciEng/Algebra/ComplexFloat.C normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver
export LANG=en_US.US-ASCII
/opt/local/bin/clang-mp-4.0 -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion …Run Code Online (Sandbox Code Playgroud) 将我们的代码应用于 iOS 11,我正在努力解决 UINavigationController 中定位的 UISearchbar。我像这样设置 SearchController/SearchBar:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchBar.scopeButtonTitles = @[@"foo", @"bar"];
self.searchController.searchBar.showsScopeBar = YES;
self.searchController.searchResultsUpdater = self;
self.searchController.searchBar.delegate = self;
self.searchController.delegate = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = YES;
if (@available(iOS 11.0, *))
{
self.navigationItem.searchController = self.searchController;
self.navigationItem.hidesSearchBarWhenScrolling = YES;
UISearchBar *searchbar = self.searchController.searchBar;
[searchbar setSomeColors];
}
Run Code Online (Sandbox Code Playgroud)
当使用我们的默认颜色时,事情可能看起来不错,但 SearchBar 和 ScopeButtons 之间的空间可能有点太大:
更改搜索栏的 backgroundColor 揭示出了什么问题:

因此,UISearchBar 在其父视图中的位置有点太高了。有谁知道,是什么导致了 iOS 11 中的这种行为?
下面是我的代码,我试图通过状态栏获得信号强度.
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
Run Code Online (Sandbox Code Playgroud)
发生崩溃(iOS 11,Xcode 9,iPhone X): -
[UIStatusBar_Modern valueForUndefinedKey:]:此类不是键值前景视图的键值编码兼容
我需要制作椭圆形的 UICollectionView 单元格,其中高度是固定的,但宽度是动态的,并且它也有限制,如果文本长于该值,则文本应该滚动。任何可用于此的第三方选项或需要使用 UICollectionView 创建自己的选项。请指导。
下面是我想要实现的图像。我想知道在开始之前我应该寻找第三方还是使用 UICollectionView 来制作自己的。我有很短的时间来完成这就是为什么要避免在开始时询问自己要遵循的方向的时间。请指导。
我实际上是在尝试使用灵活快照在我的应用程序中实现 UI 测试。我正面临一个我不太了解的问题。我一直在环顾四周,但似乎没有找到我的问题的答案。
当我尝试实例化我的视图控制器以尝试测试与其关联的视图时,我的问题出现了。编译总是失败并显示此错误消息。
Undefined symbols for architecture x86_64:
"__T06medici19LoginViewControllerCMa", referenced from:
__T013mediciUITests13LoginViewTestC4specyyFyycfU_yycfU_ in
testUILogin.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我的测试代码如下所示:
import Nimble
import Nimble_Snapshots
import Quick
import UIKit
@testable import XXXXMyProject
class LoginViewTest: QuickSpec {
override func spec() {
describe("LoginView") {
var vcLogin: LoginViewController!
beforeEach {
let storyboard = UIStoryboard(name: "Account", bundle: nil)
vcLogin = storyboard.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
_ = vcLogin.view // …Run Code Online (Sandbox Code Playgroud) 我做了一些环顾四周,但我只能找到使用Objective-C创建SHA256哈希的示例.有没有办法只用Swift4做到这一点?
为了在Xcode 8模拟器中测试背景提取,我们可以复制我们当前的构建方案,并在"运行 - >选项"窗格中勾选"后台提取☑️由于后台提取事件而启动"的框.
我在Xcode 9中找不到这个.有什么想法吗?
我之前从未使用过Swift4,也不知道如何在其中使用KVC.
我尝试用Dictionary创建模型,这里是代码:
class Person : NSObject {
var name: String = ""
var age: Int = 0
init(dict: [String : Any]) {
super.init()
self.setValuesForKeys(dict)
}
}
let dict: [String : Any] = ["name" : "Leon", "age" : 18]
let p = Person(dict: dict)
print(p.name, p.age)
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
1.为什么我不使用AnyObject?"Leon"和18被推断来String和Int,它在使用KVC?
2. @objc var name: String = "",这种形式是有效的,但我无法理解.
谢谢你的帮助.
我一直在尝试在真实设备上测试我的应用程序并且我一直收到此错误.我已经尝试将我的项目更改为此选定的答案已经XCode 9.1 Command/bin/sh失败并退出代码1,但它不起作用,我已经删除了我的派生数据.我希望有一个人可以帮助我!谢谢!!
xcode9 ×10
ios ×6
xcode ×4
ios11 ×3
swift ×2
swift4 ×2
background ×1
c++ ×1
clang ×1
fetch ×1
gridview ×1
imagemagick ×1
iphone-x ×1
kvc ×1
openmp ×1
sha256 ×1
uisearchbar ×1
uistatusbar ×1