以前,使用Xcode 10,我们曾altool用于上传到App Store:
ALTOOL="/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool"
"$ALTOOL" --upload-app --file "$IPA_PATH" --username "$APP_STORE_USERNAME" --password @keychain:"Application Loader: $APP_STORE_USERNAME"
Run Code Online (Sandbox Code Playgroud)
但是使用Xcode 11时,“ Application Loader.app”不再存在,因为Xcode 11的一部分发生了变化:
Xcode支持使用Organizer窗口或使用xcodebuild或xcrun altool从命令行上传应用程序。Xcode不再包含Application Loader。(29008875)
那么,我们现在如何从命令行上传到TestFlight或App Store?
在Xcode 11之前,我使用了一个脚本来读取当前应用程序版本(适用于AppStore)并帮助我更改LaunchScreen,因为我们不能为此使用swift。
sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
versionNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
sed -i .bak -e "/userLabel=\"APP_VERSION_LABEL\"/s/text=\"[^\"]*\"/text=\"v$versionNumber\"/" "$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
Run Code Online (Sandbox Code Playgroud)
但是在Xcode 11中,项目的构建设置中有一个新的部分称为Versioning
并CFBundleShortVersionString自动更改为$(MARKETING_VERSION)。Xcode会自动处理该问题,我不想手动将其更改为静态数字,而是让Xcode进行处理。
因此,问题是如何MARKETING_VERSION使用运行脚本访问此新文件并将其设置为launchScreen标签?
我正在尝试实现一个按钮,该按钮使用“来自Botton的幻灯片”动画呈现另一个场景。
PresentationButton看起来不错,因此我尝试了一下:
import SwiftUI
struct ContentView : View {
var body: some View {
NavigationView {
PresentationButton(destination: Green().frame(width: 1000.0)) {
Text("Click")
}.navigationBarTitle(Text("Navigation"))
}
}
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
Group {
ContentView()
.previewDevice("iPhone X")
.colorScheme(.dark)
ContentView()
.colorScheme(.dark)
.previewDevice("iPad Pro (12.9-inch) (3rd generation)"
)
}
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
我希望绿色视图能够覆盖整个屏幕,并且还希望模式不能“拖动以关闭”。
是否可以在PresentationButton中添加修饰符以使其全屏显示并且不可拖动?
我也尝试过导航按钮,但是:-它不会“从底部滑动”-它在详细信息视图上创建了“后退按钮”,我不希望这样
谢谢!
玩弄那里的例子。找到了一个项目,该项目的类是可绑定的对象,没有给出任何错误。现在Xcode 11 beta 4已经发布,我得到了错误:
类型“ UserSettings”不符合协议“ BindableObject”
它在错误上有一个修复按钮,当您单击它时,它会添加
typealias PublisherType = <#type#>
Run Code Online (Sandbox Code Playgroud)
希望您填写类型。
类型是什么?
class UserSettings: BindableObject {
let didChange = PassthroughSubject<Void, Never>()
var score: Int = 0 {
didSet {
didChange.send()
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在 Xcode 11 (beta 5) 中创建一个新的 iOS 应用程序,我想尝试使用 Swift Package Manager 而不是 CocoaPods 来管理依赖项。
使用 SwiftLint 和 CocoaPods 时的一个常见模式是添加 SwiftLint 作为依赖项,然后添加一个构建阶段来执行${PODS_ROOT}/SwiftLint/swiftlint;这样,所有开发人员最终都会使用相同版本的 SwiftLint。
如果我尝试在 Xcode 中添加 SwiftLint 作为 SwiftPM 依赖项,我需要的可执行目标将被禁用:
我可以通过创建一个Package.swift没有产品或目标的虚拟对象并swift run swiftlint在我的构建阶段运行来伪造它,但感觉很奇怪:
// swift-tools-version:5.1
import PackageDescription
let package = Package(
name: "dummy-package",
products: [],
dependencies: [
.package(url: "https://github.com/realm/SwiftLint.git", from: "0.34.0")
],
targets: []
)
Run Code Online (Sandbox Code Playgroud)
有没有办法在不创建虚拟包的情况下做到这一点?或者 Swift 包管理器只是不适合这个特定用例的工具?
我正在尝试将应用上传到应用商店。但是得到如下错误:
App Store连接操作错误ERROR ITMS-90534:“无效的工具链。您的应用是使用不受支持的Xcode或SDK版本构建的。如果您打算将此构建提交到App Store,请确保您使用的是GM版本的Xcode 10.1。以及适用于iOS 12.1和watchOS 5.1的SDK,Xcode 7.1和适用于tvOS 9的SDK或适用于macOS 10.9或更高版本的Xcode 6和SDK。如果您使用的是Xcode Beta版来测试您的应用,请确保使用最新的受支持版本。有关受支持的Beta版本的更多信息,请查看App Store Connect新增功能页面(https://developer.apple.com/app-store-connect/whats-new/)。”
App Store连接操作警告警告ITMS-90703:“ Xcode Build已弃用。由于已解决的应用程序存档问题,我们已于2019年11月5日弃用Xcode 11.2。下载Xcode 11.2.1或更高版本,重建您的应用程序并重新提交。”
警告ITMS-90703指出已弃用Xcode 11.2。下载11.2.1或更高版本,但是Apple尚未在Xcode 11.2之后发布更高版本。
请告知如何解决此错误。
我创建了一个名为“Start.storyboard”的新故事板,但是当我将主界面更改为“开始”时什么也没发生,该应用程序刚刚以默认故事板“Main.storyboard”启动。我使用的是 Xcode 11.2.1 和 iOS 13.2.3
此外,我尝试将 rootViewController 从 (AppDelegate) didFinishLaunchingWithOptions 更改为以下代码:
let sb = UIStoryboard(name: "Start", bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: "PhoneVC")
self.window?.rootViewController = vc
Run Code Online (Sandbox Code Playgroud)
但我得到了相同的结果,主故事板无法更改。
在Xcode 11 Beta版本和iOS 13模拟器中,访问TextField _placeholderLabel.textColor标签键时会崩溃。
用于应用占位符文本颜色的键。
[textfield setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
Run Code Online (Sandbox Code Playgroud)
“ NSGenericException”-原因:“禁止访问UITextField的_placeholderLabel ivar。这是一个应用程序错误”
我在 macOS Catalina(10.15) 中的 Xcode 11 上使用 SwiftUI打开了Landmark App,同时打开了包含 SwiftUI 的 .swift 文件的画布编辑器正在显示
无法在此文件中预览 - 活动方案不构建此文件
再试一次,对角线选项或重新启动 Xcode 都不能解决问题。
xcode11 ×10
ios ×6
xcode ×5
swiftui ×3
app-store ×1
ios13 ×1
placeholder ×1
sh ×1
storyboard ×1
swift ×1
swiftlint ×1
uitextfield ×1
xcode11.2 ×1