[iOS] App Store μ¬μ¬ 리μ λμ (Guideline 4.0 - Design)
νμκ°μ λ° νμνν΄λ λͺ¨λ μ± λ΄μμ μ²λ¦¬ν΄μΌ νλ€λ λ΄μ©μ 리μ μ΄μμ΅λλ€.
μ μ κ²½μ° νμκ°μ κ³Ό νμνν΄λ₯Ό λͺ¨λ μ¬ν리 μ±μ μ΄μ΄ μ²λ¦¬νλλ‘ νκ³ μμμ΄μ
UXλ₯Ό ν΄μΉλ€λ μ΄μ λ‘ λ¦¬μ λμμ΅λλ€.
We noticed that the user is taken to the default web browser to sign in or register for an account, which provides a poor user experience.
Next Steps
To resolve this issue, please revise your app to enable users to sign in or register for an account in the app.
You may also choose to implement the Safari View Controller API to display web content within your app. The Safari View Controller allows the display of a URL and inspection of the certificate from an embedded browser in an app so that customers can verify the webpage URL and SSL certificate to confirm they are entering their sign in credentials into a legitimate page.
Resources
- For additional information on the Safari View Controller API, please review the What's New in Safari webpage.
- Note that apps that support account creation must also offer account deletion, per App Store Review Guideline 5.1.1(v). Learn more about offering account deletion in your app.
(λ²μ)
μ¬μ©μκ° κΈ°λ³Έ μΉ λΈλΌμ°μ λ‘ μ΄λνμ¬ κ³μ μ λ‘κ·ΈμΈνκ±°λ κ°μ νλ―λ‘ μ¬μ©μ νκ²½μ΄ μ’μ§ μμ΅λλ€.
Next Steps
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ©΄ μ¬μ©μκ° μ±μ λ‘κ·ΈμΈνκ±°λ κ³μ μ λ±λ‘ν μ μλλ‘ μ±μ μμ νμμμ€.
λν Safari View Controller APIλ₯Ό ꡬννμ¬ μ± λ΄μ μΉ μ½ν μΈ λ₯Ό νμνλλ‘ μ νν μλ μμ΅λλ€. Safari View Controllerλ₯Ό μ¬μ©νλ©΄ μ±μ λ΄μ₯λ λΈλΌμ°μ μμ URLμ νμνκ³ μΈμ¦μλ₯Ό κ²μ¬ν μ μμΌλ―λ‘ κ³ κ°μ μΉ νμ΄μ§ URL λ° SSL μΈμ¦μλ₯Ό νμΈνμ¬ ν©λ²μ μΈ νμ΄μ§μ μλͺ μ격 μ¦λͺ μ μ λ ₯νλμ§ νμΈν μ μμ΅λλ€.
Resources
- Safari View 컨νΈλ‘€λ¬ APIμ λν μΆκ° μ 보λ Safariμ μλ‘μ΄ κΈ°λ₯ μΉ νμ΄μ§λ₯Ό μ°Έμ‘°νμμμ€.
- κ³μ μμ±μ μ§μνλ μ±μ μ±μ€ν μ΄ κ²ν κ°μ΄λλΌμΈ 5.1.1(v)μ λ°λΌ κ³μ μμ κΈ°λ₯λ μ 곡ν΄μΌ ν©λλ€. μ±μμ κ³μ μμ λ₯Ό μ 곡νλ λ°©λ²μ λν΄ μμΈν μμλ΄ λλ€.
class TempleViewController: UIViewController {
@IBAction func touchHomepageButton(_ sender: UIButton) {
if let url = URL(string: "http://www.chungkeisa.com/") {
UIApplication.shared.open(url, options: [:])
}
}
}
μ΄λ―Έ ν΄λΉ 리μ μ λμ ν λ°°ν¬ν μνλΌ νμκ°μ νλ©΄μ μλμ§λ§..γ γ
νμκ°μ λ²νΌμ λλ μ λ μ΄λ κ² μ¬ν리 λΈλΌμ°μ λ₯Ό μ΄μ΄ μ± μΈλΆλ‘ μ΄λνλλ‘ λμ΄ μμμ΅λλ€.
import SafariServices
class TempleViewController: UIViewController, UIViewControllerTransitioningDelegate {
@IBAction func touchHomepageButton(_ sender: UIButton) {
if let url = URL(string: "http://www.chungkeisa.com/") {
let safariViewController = SFSafariViewController(url: url)
safariViewController.transitioningDelegate = self
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
}
}
}
λ°λΌμ μ νμμ μ μν SFSafariViewControllerλ₯Ό μ΄μ©ν΄
μΉνμ΄μ§λ₯Ό μΈμ±μΌλ‘ μ΄λλ‘ μμ νμ¬ λ€μ μ μΆνμκ³ ,
μ¬μ¬μ ν΅κ³Όν μ μμμ΅λλ€ π
λΉλ¨ νμκ°μ κ³Ό νμνν΄κ° μλλλΌλ μΈλΆ λΈλΌμ°μ λ₯Ό κΌ μ΄μ΄μΌ νλ μ΄μ κ° μλ κ² μλλΌλ©΄
μΈμ±μΌλ‘ μ°κ²°νλ κ²μ΄ UXμΈ‘λ©΄μμ μ¬μ©μλ€μκ² λ μ’μ κ²½νμ μ€ μ μμ κ² κ°μ΅λλ€!