我打算很快将我的应用程序发布到App Store(在TestFlight之后).我有很多视图控制器print,其中包含语句.这些print语句用于测试目的(调试器),用户永远不会看到它们.
如果我在应用程序中发布或不包含打印语句,它会有什么不同吗?
打印语句是否会在场景之间切换时降低速度,即使是毫秒?
我可以因为将它们包含在我的应用中而被拒绝吗?
在几个vcs中我打印uid只是为了清楚我自己.通过在应用程序中包含这些打印语句,是否存在任何安全风险?
我有几个问题让我感到困惑:
谁最负责刷新广告?在我加载请求后bannerView.load(GADRequest()),让开发人员或 Google 监控它是最佳做法吗?
刷新时间应该短至 30 秒还是至少 60 秒?他们推荐 60 秒,但让您可以选择 30 秒,这似乎很奇怪。我在不同的帖子中读到过,您可能会因各种事情受到处罚,而且您的 AdMob 帐户将被关闭,不会有任何问题。如果是这种情况,如果您在控制台内选择 30 秒,而他们推荐 60 秒,如果他们觉得有任何“有趣”,他们可以仅根据这一点终止您的帐户。这是一个非常曲折的过程。
它说如果您的应用程序自动刷新广告,请确保在屏幕关闭时不会发出广告请求。如果我的第一个问题的答案是让谷歌监控/自动刷新(不使用我下面的代码)谷歌如何知道屏幕是否关闭?例如,广告显示在viewControllerA但用户按下按钮并被viewControllerB推动。由于viewControllerA仍在堆栈中,广告将不断刷新,我不知道谷歌如何知道屏幕关闭直到viewControllerA被释放。另外,如果用户进入后台,Google 怎么知道?我假设关闭 意味着用户无法再看到屏幕,这意味着他们无法看到广告,因此无需刷新,因为他们要么切换了选项卡,要么在另一个 VC 上推送,要么转到后台(所有情况都在下面的代码中处理)
刷新控制台页面的链接在哪里?在您可以转到https://apps.admob.com > Monetize 之前,您最终会出现在带有刷新选项的页面上。当我登录时,我不再看到货币化选项,而是看到带有一堆图标的侧边栏。没有任何图标将我带到刷新页面。仅供参考,我昨天刚开始使用 AdMob,我只在视频和在线教程中看到刷新页面,所以我以前从未使用过它。
它在这里说(强调我的):
刷新广告
我们建议您让广告持续60秒或更长时间,具体取决于您应用的功能。我们的内部测试表明,这可确保用户有足够的时间与广告互动,从而为广告商和发布商提供最佳性能。此外,这些测试表明,更频繁地刷新广告会损害我们发布商的填充率。
如果您的应用会自动刷新广告,请确保在屏幕关闭时不会发出广告请求。此外,如果用户在短时间内浏览和浏览应用中包含广告的页面,则新的广告请求不应早于建议的60秒速率。
但它也在这里说:
横幅广告
我们建议使用 Google 优化的自动刷新率。优化速率是使用 AdMob 历史数据计算得出的,以确保您的广告单元中显示的广告以横幅广告的最佳速率刷新。
您还可以设置30-120秒的自定义刷新率或完全禁用刷新率。
这是我每 30 秒自己管理一次请求的方法,考虑到用户何时进入后台、切换选项卡或推动另一个 VC。如果我不做所有这些并将其留给他们(“我们建议使用谷歌优化的自动刷新率”),谷歌如何知道屏幕是否关闭?
var timer: Timer?
override viewDidLoad() {
super.viewDidLoad()
// instantiate bannerView …Run Code Online (Sandbox Code Playgroud) 让我从我被批准用于外部 Beta 测试者开始。
我寻找这个问题的答案,并不断遇到引用iTunes Connect并于 2015 年、2016 年、2017 年发布的旧答案。
现在是 2019 年,iTunes Connect并已重命名为App Store Connect并且布局已更改。
当我以前的应用程序处于测试阶段时,要获取 App Store url,我必须转到iTunes Connect> MyApps(选择我想要的应用程序)> App Information> 底部有一个链接,上面写着View on App Store. 单击该链接会将我带到一个空白页面,其中包含我尚未上线的 url 作为我的 beta 应用程序的 url。
在同一时间上iTunes Connect有一个More 是给你带来了有按钮
新App Store Connect布局View on App Store在底部不再有More按钮,也没有在任何可见区域列出的按钮
我了解 App Store url 链接的格式如下,我可以自己手动输入数据:
"https://itunes.apple.com/us/app/MY_APP_NAME/idMy_APP_ID?mt=8" // this is what I previously used that worked fine
Run Code Online (Sandbox Code Playgroud)
或者 …
我刚刚上传了我的 Firebase pod 并收到了以下警告消息:
'isDirectChannelEstablished' 已弃用:FCM 直接通道已弃用,请使用 APNs 通道进行下行消息传递
警告出现在这里:
Messaging.messaging().shouldEstablishDirectChannel = true
Run Code Online (Sandbox Code Playgroud)
如何消除此警告?
如果我有一个UIViewController,我在故事板中连接一个tableView,连接tableview插座,然后通过连接检查器连接数据源和委托方法(cntrl +拖动到vc橙色圆圈图标),我是否还需要添加self.tableView.delegate = self和self.tableView.datasource = self实际的视图控制器?当然在实际的vc中我正在实现tableView数据/委托协议.
此外,我假设答案是什么,同样的方式将集合视图控制器通过故事板连接相同的方式?
添加它的优点和缺点是什么?
class FooController:UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.datasource = self
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { ... }
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { ... }
}
Run Code Online (Sandbox Code Playgroud) 我是Heroku的新手,并且对Deploy / Pipeline语言不熟悉。
我已经安装了Heroku CLI,并使用以下方式部署了应用程序:
run: heroku create myNewHerokuApp
Run Code Online (Sandbox Code Playgroud)
我的实例现在制作完成了。
我在Github上有一个私人仓库。
https://github.com/myUserName/myPrivateRepoName.git
Run Code Online (Sandbox Code Playgroud)
如何链接我myNewHerokuApp用myPrivateRepoName.git?
我在我的 iOS 应用程序中使用 Alamofire。我在 viewWillAppear 和 AppDelegate 中使用 bool 值和 NSNotifications 来检查是否有互联网连接。如果没有 wifi 连接,则会出现一个弹出窗口以通知用户。如果有 wifi 连接,弹出窗口就会消失,一切正常。只要wifi显然无法正常工作,我就没有问题。
我正在参加一个聚会,有人向我解释说它的工作方式是它寻找 wifi 连接而不是互联网连接。例如。如果我有一个 wifi 路由器并且它已插入但路由器未连接到互联网 Alamofire 会将此视为成功连接,因为它实际上正在连接到 wifi 虽然它不知道 wifi 无法连接到互联网.
我只是在连接到开放网络的情况下,我的应用程序最初的响应好像我真的连接到了互联网(没有弹出窗口),但我无法连接到任何东西。wifi信号全开。在终端中,我运行了 ping,结果发现连接已死。我的应用程序无法区分。
在这样的情况下,如何让弹出窗口出现?
还有什么是 .case unknown ?
Alamofire.Swift:
import Foundation
import Alamofire
open class NetworkManager {
open static var sharedManager: NetworkReachabilityManager = {
let reachabilityManager = NetworkReachabilityManager()
reachabilityManager?.listener = { (status) in
switch status {
case .notReachable:
print("The network is not reachable")
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "unsuccessful"), object: nil)
case .unknown : //???????
print("It is …Run Code Online (Sandbox Code Playgroud) 在我的手机上,我将与应用程序开发人员共享设置为On.
设置 > 隐私 > 分析 > 与应用开发者共享 > 开启
我打印了一个 nil 值来强制崩溃:
var x: String?
print(x!)
Run Code Online (Sandbox Code Playgroud)
我在控制台中看到了崩溃,但是当我去:
Window > Device and Simulators > myPhone > myApp's name > View Device Logs > Process > myApp's name
Run Code Online (Sandbox Code Playgroud)
我只看到我的应用程序从 2017 年 11 月开始的旧崩溃(之前或之后都没有)。它没有显示我的应用程序的任何当前崩溃,但它显示了我所有其他应用程序(例如 YouTube、Slack、Stack Overflow 等)的所有当前崩溃。我一小时前刚刚打印了一个 nil 值的那个甚至没有出现。
在 Xcode 中,我导航到 Crashes,但它显示 No Crash Logs:
Windows > Organizer > Crashes > App Store > releaseInAppStore但 nada
为什么我最近的崩溃日志没有出现?
我七月份买了这台电脑。在此之前我有另一台计算机,我成功导出了签名证书及其私钥并将它们添加到这台计算机。一切都运转良好。上周我成功地将 2 个应用程序推送到 AppStoreConnect。
周一我遇到了一个奇怪的错误(与这个问题不同)并错误地撤销了证书。从那时起我就不断收到错误:
您的帐户已拥有此计算机的签名证书,但它不存在于您的钥匙串中
当我转到Xcode> Accounts> Apple IDs>Team并单击它时,plus sign它说
不在钥匙串中//第二张图片
起初,当我尝试将丢失的分发证书拉入Keychain>时login,我不断收到以下消息:
当我在命令行上尝试时,我得到Segmentation fault: 11:
$ security import /Users/Home/Desktop/Certificates_Folder/my@email/Certificate.p12 -k ~/Library/Keychains/login.keychain
$ Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)
login奇怪的是,它让我发送除分发证书之外的所有其他证书。
因此,我创建了一个名为的新钥匙串项Brand_New_Keychain,并在其中添加了两个证书。当我检查时,Brand_New_Keychain两个证书都存在并且它们都在System.
我取消选中Automatic,使用减号删除开发团队,然后将其添加回来,我关闭 Xcode,重新启动计算机,打开 Xcode 等,同样的问题仍然存在。
如下图所示,“不在钥匙串中”证书位于“钥匙串访问”中。这里有什么问题?
1-签名错误
2-不在钥匙串消息中
3- 有效期自Development Certificate
4- 有效期自Distribution Certificate
5-我创建的新钥匙串项目Brand_New_Keychain>>Certificates图3和4中的两个证书具有相同的到期日期,但它说我在钥匙串中没有
6- 当我将我的一个应用程序推送到 AppStoreConnect 时,它说我没有.p12 …
我刚收到Google的电子邮件:
有关《加州消费者隐私法》(CCPA)的重要更新
基本上,这是the GDPR欧洲的精简版规则,但对于加利福尼亚州的居民而言,这将会生效Jan 1, 2020。Google说:
以下产品需要采取措施才能启用受限数据处理:AdMob
当我点击AdMob链接时,它说:
一些发布者可能选择不在其媒体资源上显示“不出售我的个人信息”链接。
或者,其他发布者可以选择显示“不出售我的个人信息”链接
使用Google GDPR同意书SDK时,我的生活非常轻松。sdk可以使用以下代码确定用户是否在GDPR区域内:
import PersonalizedAdConsent
PACConsentInformation.sharedInstance.debugGeography = .EEA
if PACConsentInformation.sharedInstance.isRequestLocationInEEAOrUnknown { ... }
Run Code Online (Sandbox Code Playgroud)
如果用户在区域内,则可以向他们提出以下表格:
iOS页面的CCPA代码说要添加以下代码:
let request = DFPRequest()
let adNetworkExtras = GADExtras()
adNetworkExtras.additionalParameters = [ "rdp" : "1" ]
request.register(adNetworkExtras)
Run Code Online (Sandbox Code Playgroud)
我可以向用户显示“不出售我的个人信息”的警报,并带有“是/否”选项,如果他们想退出,则会设置上面的代码。与GDPR同意书不同,这里的主要问题是确定用户是否是CA州居民。
该法律规定了加利福尼亚州居民的各种权利。我只想向加利福尼亚州居民的用户提供该表格,但有一个难题。
1-用户位于IN CA和IS一个CA状态驻留(本他们的警报)
2-用户位于OUTSIDE CA和IS一个CA状态驻留(呈现它们的警报)
3-用户所在IN CA和IS NOT一个CA状态居民(不存在任何东西)
4-用户所在OUTSIDE …
ios ×8
swift ×4
admob ×2
xcode ×2
adbannerview ×1
alamofire ×1
app-id ×1
ccpa ×1
crash-log ×1
delegates ×1
firebase ×1
git ×1
github ×1
heroku ×1
networking ×1
p12 ×1
printf ×1
reachability ×1
security ×1
uitableview ×1