标签: xcode11

如何使用Xcode 11从命令行上传到App Store?

以前,使用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 ios app-store-connect xcode11

17
推荐指数
4
解决办法
3484
查看次数

如何使用脚本读取Xcode 11中的当前应用程序版本

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进行处理。

11

因此,问题是如何MARKETING_VERSION使用运行脚本访问此新文件并将其设置为launchScreen标签?

xcode sh build-settings ios xcode11

17
推荐指数
4
解决办法
3373
查看次数

SwiftUI-具有全屏模式的PresentationButton

我正在尝试实现一个按钮,该按钮使用“来自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中添加修饰符以使其全屏显示并且不可拖动?

我也尝试过导航按钮,但是:-它不会“从底部滑动”-它在详细信息视图上创建了“后退按钮”,我不希望这样

谢谢!

swiftui xcode11

17
推荐指数
3
解决办法
2794
查看次数

不符合协议BindableObject-Xcode 11 Beta 4

玩弄那里的例子。找到了一个项目,该项目的类是可绑定的对象,没有给出任何错误。现在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)

swiftui xcode11

17
推荐指数
2
解决办法
3632
查看次数

如何使用 Swift Package Manager 将 SwiftLint 与 iOS 应用程序集成?

我正在 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 包管理器只是不适合这个特定用例的工具?

ios swift-package-manager swiftlint xcode11

17
推荐指数
2
解决办法
5322
查看次数

应用商店应用上载失败,并显示错误ITMS-90534和警告ITMS-90703

我正在尝试将应用上传到应用商店。但是得到如下错误:

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之后发布更高版本。

请告知如何解决此错误。

在此处输入图片说明

xcode app-store ios xcode11 xcode11.2

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

Xcode 11.2.1 - Swift 5 - 无法将主故事板“Main”更改为另一个故事板“Start”

我创建了一个名为“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 storyboard swift rootviewcontroller xcode11

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

Xcode 11 Beta-iOS 13模拟器-带有占位符的UITextField导致应用崩溃

在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。这是一个应用程序错误”

placeholder uitextfield ios13 xcode11

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

Xcode 11卡在归档中

我正在使用Xcode 11 GM 2存档我的应​​用程序。它使用CocoaPods和Swift。尝试存档我的应​​用程序时,它无限卡在此处: 错误 在删除Firebase或其他框架后,仍然会发生这种情况。有关如何解决此问题的任何想法?

xcode ios xcode11

16
推荐指数
2
解决办法
1874
查看次数

无法在此文件中预览 - 活动方案未构建此文件:CatalinaOS 中 Xcode 11 上的 SwiftUI

我在 macOS Catalina(10.15) 中的 Xcode 11 上使用 SwiftUI打开了Landmark App,同时打开了包含 SwiftUI 的 .swift 文件的画布编辑器正在显示

无法在此文件中预览 - 活动方案不构建此文件

再试一次对角线选项或重新启动 Xcode 都不能解决问题。

ios swiftui xcode11 macos-catalina

16
推荐指数
5
解决办法
8194
查看次数