Swift -GDPR Consent form returns Error: invalid app name
Swift -GDPR Consent form returns Error: invalid app name
出于某种原因,当我尝试加载 GDPR 同意书时,我不断收到错误消息:
Error: invalid app name.
它发生在这里:
form.load { [weak self](_ error: Error?) -> Void in
print("Load complete.")
if let error = error {
// *** HERE IS THE ERROR ***
print("Error loading form: \(error.localizedDescription)")
return
}
当我对 invalid app name
进行全局搜索时,我被带到 consentform.html
文件:
// Set app name.
var appName = formInfo['app_name'] || '';
if (appName.length <= 0) {
formLoadCompleted('Error: invalid app name.');
}
这表明 googleservice-plist
或我的 info.plist
或其他内容的某些值未被正确读取,但我不知道要查看哪个值。
在我的 info.plist
中,我正确设置了 GADApplicationIdentifier
:
为什么我的应用名称显示为 nil?
PACConsentInformation.sharedInstance.debugGeography = .EEA
PACConsentInformation
.sharedInstance
.requestConsentInfoUpdate(forPublisherIdentifiers: ["pub-MY_PublisherID"]) { [weak self](error) in
if let error = error { return }
PACConsentInformation.sharedInstance.isRequestLocationInEEAOrUnknown {
if PACConsentInformation.sharedInstance.consentStatus == PACConsentStatus.unknown {
guard let privacyUrl = URL(string: "My_Privacy_URL"),
let form = PACConsentForm(applicationPrivacyPolicyURL: privacyUrl) else {
return
}
form.shouldOfferPersonalizedAds = true
form.shouldOfferNonPersonalizedAds = true
form.shouldOfferAdFree = true
form.load { [weak self](_ error: Error?) -> Void in
print("Load complete.")
if let error = error {
// *** HERE IS THE ERROR ***
print("Error loading form: \(error.localizedDescription)")
return
}
// ...
}
return
}
}
我不得不深入挖掘以找出问题,但问题是 CFBundleDisplayName
或更好,但 info.plist
中的 Bundle Display Name
(红色)是空白的:
如果 Bundle Display Name
(红色)为空白,则 GDPR Consent
表单将 return 出错。您可以手动输入您的应用名称
或
只是 删除 整个(红色)Bundle Display Name
k/v 字段。如果删除它,那么 GDPR Consent
将求助于使用 Bundle Name
(黄色)。
无论你做什么,都不要犯错并删除Bundle Name
(黄色)。
按照这 2 个答案了解 Bundle Display Name
和 Bundle Name
之间的解释:
Bundle Display Name explained
Bundle Display Name with pics
出于某种原因,当我尝试加载 GDPR 同意书时,我不断收到错误消息:
Error: invalid app name.
它发生在这里:
form.load { [weak self](_ error: Error?) -> Void in
print("Load complete.")
if let error = error {
// *** HERE IS THE ERROR ***
print("Error loading form: \(error.localizedDescription)")
return
}
当我对 invalid app name
进行全局搜索时,我被带到 consentform.html
文件:
// Set app name.
var appName = formInfo['app_name'] || '';
if (appName.length <= 0) {
formLoadCompleted('Error: invalid app name.');
}
这表明 googleservice-plist
或我的 info.plist
或其他内容的某些值未被正确读取,但我不知道要查看哪个值。
在我的 info.plist
中,我正确设置了 GADApplicationIdentifier
:
为什么我的应用名称显示为 nil?
PACConsentInformation.sharedInstance.debugGeography = .EEA
PACConsentInformation
.sharedInstance
.requestConsentInfoUpdate(forPublisherIdentifiers: ["pub-MY_PublisherID"]) { [weak self](error) in
if let error = error { return }
PACConsentInformation.sharedInstance.isRequestLocationInEEAOrUnknown {
if PACConsentInformation.sharedInstance.consentStatus == PACConsentStatus.unknown {
guard let privacyUrl = URL(string: "My_Privacy_URL"),
let form = PACConsentForm(applicationPrivacyPolicyURL: privacyUrl) else {
return
}
form.shouldOfferPersonalizedAds = true
form.shouldOfferNonPersonalizedAds = true
form.shouldOfferAdFree = true
form.load { [weak self](_ error: Error?) -> Void in
print("Load complete.")
if let error = error {
// *** HERE IS THE ERROR ***
print("Error loading form: \(error.localizedDescription)")
return
}
// ...
}
return
}
}
我不得不深入挖掘以找出问题,但问题是 CFBundleDisplayName
或更好,但 info.plist
中的 Bundle Display Name
(红色)是空白的:
如果 Bundle Display Name
(红色)为空白,则 GDPR Consent
表单将 return 出错。您可以手动输入您的应用名称
或
只是 删除 整个(红色)Bundle Display Name
k/v 字段。如果删除它,那么 GDPR Consent
将求助于使用 Bundle Name
(黄色)。
无论你做什么,都不要犯错并删除Bundle Name
(黄色)。
按照这 2 个答案了解 Bundle Display Name
和 Bundle Name
之间的解释:
Bundle Display Name explained
Bundle Display Name with pics