ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [iOS] App Store ์‹ฌ์‚ฌ ๋ฆฌ์  ๋Œ€์‘ (Guideline 4.0 - Design)
    ๐ŸŽ iOS/App Store Connect 2023. 6. 30. 11:20

    ํšŒ์›๊ฐ€์ž… ๋ฐ ํšŒ์›ํƒˆํ‡ด๋Š” ๋ชจ๋‘ ์•ฑ ๋‚ด์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋‚ด์šฉ์˜ ๋ฆฌ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

     

    ์ €์˜ ๊ฒฝ์šฐ ํšŒ์›๊ฐ€์ž…๊ณผ ํšŒ์›ํƒˆํ‡ด๋ฅผ ๋ชจ๋‘ ์‚ฌํŒŒ๋ฆฌ ์•ฑ์„ ์—ด์–ด ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๊ณ  ์žˆ์—ˆ์–ด์„œ

    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์ธก๋ฉด์—์„œ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋” ์ข‹์€ ๊ฒฝํ—˜์„ ์ค„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

     

     

     

     

    ๋Œ“๊ธ€

Designed by Tistory.