gpt4 book ai didi

ios - 在 Swift 项目中包含基于方案的某些 Objective-C 文件

转载 作者:行者123 更新时间:2023-11-30 14:02:18 25 4
gpt4 key购买 nike

我正在使用SimulatorStatusMagicautomating my screenshots 时更改模拟器内的状态栏。我无法将其包含在非屏幕截图版本中,因为代码无法在设备上运行并使用私有(private) API,从而限制了向应用程序商店的提交。由于该应用程序面向 iOS 7,因此项目文件直接包含在项目中,无需使用框架。

在 Objective-C 桥接 header 中,我有:

#ifdef SNAPSHOT
#import "SDStatusBarManager.h"
#endif

然后我有一个单独的版本名称“snapshot”,它具有以下值:

Preprocessor Macros: SNAPSHOT=1
Other Swift Flags: -D SNAPSHOT

在我的应用程序委托(delegate)中,我有:

#if SNAPSHOT
SDStatusBarManager.sharedInstance().enableOverrides()
#endif

我(错误地)认为这将允许我提交到应用程序商店,因为代码不会被编译,但我错了。有没有办法只将此代码包含在快照构建中?

最佳答案

我的猜测是,即使您仅在使用“SNAPSHOT”标志构建时调用库,库二进制文件仍然与应用程序链接,因此被 Apple 拒绝。

SimulatorStatusMagic 的自述文件表示,您应该仅在 Debug模式下将其添加到项目中以避免这种情况,并且您的 Podfile 设置也应该反射(reflect)这一点。

pod 'SimulatorStatusMagic', :configurations => ['调试']

引用:https://github.com/shinydevelopment/SimulatorStatusMagic#i-have-a-script-to-take-my-screenshots-can-i-automate-this

关于ios - 在 Swift 项目中包含基于方案的某些 Objective-C 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32852124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com