블로그 이미지
래머
오늘도 열심히 개발하는 개발자입니다.

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2015. 10. 10. 17:50 iOS



애플 앱스토어 가이드라인을 한번도 본적이 없어서 이번에 앱출시를 위해 한번 정독해봤습니다.

안되는 영어실력으로 끙끙거리며 번역해봤는데 내용이 많아서 다번역하지는 못했고 우리앱에 중요하다고 생각되는 항목에 대한 부분만 번역해봤습니다.

오역의역이 있을수 있으니 단순참고만 부탁드립니다.

 

2. Functionality(기능성)

 

2.1

Apps that crash will be rejected

크래시되는 앱은 거부된다.

2.2

Apps that exhibit bugs will be rejected

버그가 보이는 앱은 거부된다.

2.3

Apps that do not perform as advertised by the developer will be rejected

2.4

Apps that include undocumented or hidden features inconsistent with the description of the App will be rejected

설명과 일치하지 않거나 문서에 없는 또는 숨겨진 기능이 있는 앱은 거부된다.

2.5

Apps that use non-public APIs will be rejected

비공개 API들을 사용한 앱은 거부된다.

2.6

Apps that read or write data outside its designated container area will be rejected

앱에 지정되지 않은 위치에 데이터를 기록하거나 읽는 앱은 거부된다.

2.7

Apps that download code in any way or form will be rejected

어떠한 형태나 방법으로든 코드를 다운로드 하는 앱은 거부된다.

2.8

Apps that install or launch other executable code will be rejected

설치 또는 다른 실행 코드를 호출하는 앱은 거부된다.

2.9

Apps that are "demo", "trial", or "test" versions will be rejected. Beta Apps may only be submitted through TestFlight and must follow the TestFlight guidelines

데모, 트라이얼, 테스트 버전의 앱들은 거부된다. 베타앱들은 테스트플라이트를 통해서 제출될 수 있고, 테스트 플라이트 가이드 라인을 반드시 지켜야한다.

2.10

iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution

아이폰의 앱들은 반드시 수정없이 아이폰 해상도 또는 2x아이폰 3gs해상도 형태로 아이패드에서 실행되어야한다.

2.11

Apps that duplicate Apps already in the App Store may be rejected, particularly if there are many of them, such as fart, burp, flashlight, and Kama Sutra Apps

이미 앱스토에있는 앱들,특히나 방귀, 트럼, 플래시라이트, 가마수투라 앱 같은 앱들은 거부된다.

2.12

Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected

매우 유용하지 않거나, 유일하거나(자기자신만을 위한앱같은), 단순히 웹사이트에 연결되거나, 어떠한 영구적인 컨테츠를 제공하지 않는 앱은 거부된다.

2.13

Apps that are primarily marketing materials or advertisements will be rejected

마케팅, 광고를 목적으로 하는 앱들은 거부된다.

2.14

Apps that are intended to provide trick or fake functionality that are not clearly marked as such will be rejected

의도적으로 속이거나 명백하게 표시되지 않은 형태로 가짜 기능을 제공하는 앱들은 거부된다.

2.15

Apps larger than 100MB in size will not download over cellular networks (this is automatically prohibited by the App Store)

100Mb이상크기의 앱들은 셀루러 네트워크(통신사 네트워크)를 통해서 다운로드 되지 않는다.(이것은 앱스토어에서 자동으로 금지 시킨다.)

2.16

Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc.

멀티 태스킹 앱들은 그들의 의도한 목적에 맞게 백스라운드 서비스를 사용해야한다. : VoIP, 오디오 플레이, 위치, 작업완성, 로컬 통지, 기타

2.17

Apps that browse the web must use the iOS WebKit framework and WebKit Javascript

웹 탐색은 반드시 iOS Webkit 프레임워크 및 Webkit 자바 스크립트를 사용해야한다.

2.18

Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke cigarettes, will be rejected

과도한 알코올 소비, 불법 행위, 미성년자에게 알코올 소비 또는 담배 피우기를 권유하는 앱은 거부된다.

2.19

Apps that provide incorrect diagnostic or other inaccurate device data will be rejected

잘못된 진단이나 부정확한 디바이스 데이터를 제공하는 앱은 거부된다.

2.20

Developers "spamming" the App Store with many versions of similar Apps will be removed from the iOS Developer Program

비슷한 형태의 앱을 다량 앱스토어에 게시하는 개발자는 개발자 프로그램에서 제외된다.

2.21

Apps that are simply a song or movie should be submitted to the iTunes store. Apps that are simply a book should be submitted to the iBooks Store

노래, 영화는 아이튠즈 스토어, 책은 iBook스토에서 제출될것이다.

2.22

Apps that arbitrarily restrict which users may use the App, such as by location or carrier, may be rejected

위치나 캐리어 같은 것으로 유저의 앱사용을 임의로 제한하는 앱들은 거부될것이다.

2.23

Apps must follow the iOS Data Storage Guidelines or they will be rejected

앱들은 반드시 iOS 데이터 저장소 가이드라인을 따라야 한다.

2.24

Apps that are offered in Newsstand must comply with schedules 1, 2 and 3 of the Program License Agreement or they will be rejected

뉴스스텐드에 공급되는 앱은 프로그램 라이선스 협정의 스케쥴 1, 2, 3을 따라야한다.

 

2.25

Apps that display Apps other than your own for purchase or promotion in a manner similar to or confusing with the App Store will be rejected

당신 소유가 아닌 앱의 구매 또는 프로모션을 위해 앱을 표시거나 기타 유사한 형태를 부추기는 앱들은 거부된다.

 

 

 

2.26

Apps may display and recommend apps other than your own only if the collection is designed for a specific approved need (e.g. health management, aviation, accessibility, etc.) or provides significant added value for a specific group of customers, or they will be rejected

앱들은 만일 수집물이 특별히 공인된 필요에 의하거나(건강관리, 비행, 접근성 기타) 또는 고객의 특별한 그룹을 위한 중요한 부가 가치를 제공하기 위해서인 경우 다른 것 보다는 당신 소유의 앱을 표시 또는 권장할 수 있다,



3. Metadata (name, descriptions, ratings, rankings, etc.)

메타데이터(이름, 설명, 평가, 랭킹, 기타)

3.1

Apps or metadata that mentions the name of any other mobile platform will be rejected

앱이름 또는 메터데이터에 공식적으로 다른 모바일 플랫폼을 언급하는 앱들은 거부된다.(안드로이드, 아이폰, 아이패드, 애플, 구글 처럼 다른 모바일플랫폼(애플포함)을 언급하지 말라는 소리)

3.2

Apps with placeholder text will be rejected

3.3

Apps with names, descriptions, screenshots, or previews not relevant to the content and functionality of the App will be rejected

앱의 이름, 설명, 스크린샷에 앱과 관계없는 컨텐츠가 포함된 앱은 거부된다.

   

3.4

App names in iTunes Connect and as displayed on a device should be similar, so as not to cause confusion

아이튠즈 컨넥터에 표시되는 앱이름과 디바이스에 표시되는 앱이름은 유사해야하며 혼동되지 않아야한다.

3.5

Small and large App icons should be similar, so as to not to cause confusion

작은 아이콘과 큰아이콘은 유사해서 혼동되지 않아야한다.

3.6

Apps with App icons, screenshots, and previews that do not adhere to the 4+ age rating will be rejected

앱아이콘, 스크린샷, 미리보기가 4세 미만 연령에 충실하지 않으면 거부된다.

3.7

Apps with Category and Genre selections that are not appropriate for the App content will be rejected

앱의 카타고리와 장르가 앱의 컨텐츠와 부합되지 않으면 거부된다.

3.8

Developers are responsible for assigning appropriate ratings to their Apps. Inappropriate ratings may be changed/deleted by Apple

개발자는 자신의 앱에 합당한 평가를 받을 책임이 있다. 부당하게 평가된 앱은 변경되거나 애플로부터 지워질것이다.(평점조작하지말란소리)

3.9

Developers are responsible for assigning appropriate keywords for their Apps. Inappropriate keywords may be changed/deleted by Apple

개발자는 자신의 앱에 적합한 키워드를 사용해야한다. 부당한 키워드는 애플이 변경하거나 지울것이다.

 

 

3.10

Developers who attempt to manipulate or cheat the user reviews or chart ranking in the App Store with fake or paid reviews, or any other inappropriate methods will be removed from the iOS Developer Program

유저의 리뷰 또는 앱스토어내의 차트 랭킹을 조작하거나, 가짜 유급 리뷰(돈주고 리뷰)를 시도 또는 유사한 형태의 부당한 방법을 시도하는 개발자는 개발자 프로그램에서 제외된다.

3.11

Apps that recommend that users restart their iOS device prior to installation or launch may be rejected

앱을 설치/실행하기전에 iOS디바이스를 제시작하도록 권장하는 앱은 거부된다.

3.12

Apps should have all included URLs fully functional when you submit it for review, such as support and privacy policy URLs

리뷰시에 앱내에 포함된 모든 URL들은 완전한 기능을 제공해야한다(고객지원, 개인정보 취급방침같은것들 및 기타 ).

3.13

Apps with screenshots, previews, and marketing text that do not clearly identify supplemental content or items that must be purchased separately (e.g. using IAP) will be rejected

스크린샷, 미리보기 및 마케팅 텍스트에 표시된 내용중 구매를(IAP같은) 통해서 부분적으로 제공되는 컨텐츠라고 확실하게 표시하지 않은 내용이 포함된 앱은 거부된다.

(예를들어 구매를 해야지만 사용할 수 있는 내용을 스크린샷이나 설명에 적어놓고, 이건 구매해야지 사용할 수 있다고 설명하지 않은경우)

3.14

App previews may only use video screen captures of the app, voice-overs, and textual and design overlays, or the app will be rejected

앱 미리보기에는 오직 앱으로부터 캡쳐된 비디오 스크린샷이나 음성들, 텍스트등을 사용해야한다.

3.15

Apps with previews that display personal information of a real person without permission will be rejected

앱 미리보기에 허가없이 실제개인 정보를 출력하는 앱은 거부된다.

3.16

App previews may only include music that is licensed for that purpose in all selected territories

앱 미리보기에는 모든 선택된 목적 지역에서 라이센스된 음악만 포함해야한다.

3.17

App previews that include content played or streamed via the app (e.g. iTunes playlist, YouTube streaming video) that is not licensed for use in the preview will be rejected

앱미리보기에 플레이 또는 스트림되는 컨텐츠가 라이선스되지 않은경우에는 거부된다.

4. Location(위치)

 

4.1

Apps that do not notify and obtain user consent before collecting, transmitting, or using location data will be rejected

사용자 동의없이 위치정보를 수집, 전송, 이용하는 앱은 거부된다.

4.2

Apps that use location-based APIs for automatic or autonomous control of vehicles, aircraft, or other devices will be rejected

위치 기반API를 차량, 항공기, 또는 다른 디바이스를 자동 또는 자율적으로 제어하기위해 사용하는 앱은 거부된다.

 

 

4.3

Apps that use location-based APIs for emergency services will be rejected

위치기반 API를 긴급 서비스에 사용하는 앱들은 거부된다.

4.4

Location data can only be used when directly relevant to the features and services provided by the App to the user or to support approved advertising uses

위치데이터는 앱이 사용자를 지원 또는 공인된 광고를 사용하는등의 직접적인 관계가 있는 기능 또는 서비스를 제공할때만 사용할 수 있다.

5. Push Notifications(푸시 알림)

 

5.1

Apps that provide Push Notifications without using the Apple Push Notification (APN) API will be rejected

애플의 푸시알림(APN) API를사용하지 않고 푸시알림을 제공하는 앱은 거부된다.

5.2

Apps that use the APN service without obtaining a Push Application ID from Apple will be rejected

알려진 애플의 푸시 어플레케이션 ID없이 APN 서비스를 사용하는 앱은 거부될것이다.

5.3

Apps that send Push Notifications without first obtaining user consent, as well as apps that require Push Notifications to function, will be rejected

앱이 푸시알림 기능 요구에 대한 동의없이 푸시알림을 보내는 경우 거부된다.

 

 

5.4

Apps that send sensitive personal or confidential information using Push Notifications will be rejected

민감한 개인또는 비밀 정보를 푸시알림으로 보내는경우 거부된다.

5.5

Apps that use Push Notifications to send unsolicited messages, or for the purpose of phishing or spamming will be rejected

청하지 않은 메시지나, 피싱, 스팸을 목적으로 한 푸시 알림을 보내는 경우 거부된다.

5.6

Apps cannot use Push Notifications to send advertising, promotions, or direct marketing of any kind

앱은 광고, 프로모션 또는 어떠한 종류의 직접적인 마케팅에 푸시 알림을 사용할 수 없다.

5.7

Apps cannot charge users for use of Push Notifications

앱은 푸시알림 이용에 대한 경비를 유저에게 부담시킬 수 없다.

5.8

Apps that excessively use the network capacity or bandwidth of the APN service or unduly burden a device with Push Notifications will be rejected

APN서비스에 지나치게 네트워크 용량 또는 대역폭을 사용하거나, 디바이스에 지나치게 부담을 주는경우 거부된다.

5.9

Apps that transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the APN service will be rejected

해를 끼치거나 APN서비스의 일반적인 작동을 붕괴시키는 바이러스, 컴퓨터코드, 또는 프로그램을 전송하는 앱은 거부된다.

6. Game Center(게임센터)

6.1

Apps that display any Player ID to end users or any third party will be rejected

최종사용자의 플레이어 ID또는 서드파티를 표시하는 앱은 거부된다.

6.2

Apps that use Player IDs for any use other than as approved by the Game Center terms will be rejected

게임센터의 공인된 플레이어 ID를 사용하지 않는 앱은 거부된다.

 

 

 

 

 

6.3

Developers that attempt to reverse lookup, trace, relate, associate, mine, harvest, or otherwise exploit Player IDs, aliases, or other information obtained through Game Center will be removed from the iOS Developer Program

개발자는 검색, 추적, 관계, 제휴, mine, 수확, 플레이어 ID의 부당한 사용, 별명, 또는 게임센터를 통해서 연결된 다른 정보를 리버스 하는경우 iOS개발자 프로그램에서 제외된다.

6.4

Game Center information, such as Leaderboard scores, may only be used in Apps approved for use with Game Center

리더보드 점수 같은 게임센터의 정보는 오직 공인된 게임센터와 함께 사용할 수 있다.

6.5

Apps that use the Game Center service to send unsolicited messages, or for the purpose of phishing or spamming will be rejected

게임센터 서비스를 청하지 않은 메시지 전송, 또는 피싱, 스팸목적으로 이용하는 앱은 거부된다.

 

 

6.6

Apps that excessively use the network capacity or bandwidth of Game Center will be rejected

게임센터의 네트워크 용량이나 대역폭을 지나치게 소모하는 앱은 거부된다.

 

6.7

Apps that transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the Game Center service will be rejected

피해를 주거나 게임센터 서비스의 정상적인 운영을 방해할 목적으로 바이러스, 파일들, 컴퓨터코드 또는 프로그램을 전송하는 앱은 거부된다.

7. Advertising(광고)

7.1

Apps that artificially increase the number of impressions or click-throughs of ads will be rejected

인위적으로 광고의 클릭 또는 impressions를 증가 시키는 앱은 거부된다.

7.2

Apps that contain empty iAd banners will be rejected

비어있는 iAD배너를 포함한 앱은 거부된다.

7.3

Apps that are designed predominantly for the display of ads will be rejected

광고 표시를 목적으로 하기 위해 디자인된 앱은 거부된다.

 

 

 

8. Content and Intellectual Property Rights(컨첸츠와 지적 재산권)

 

8.1

Apps must comply with all terms and conditions explained in the Guidelines for Using Apple Trademarks and Copyrights and the Apple Trademark List

앱은 애플의 상표및 저작권, 애플 상표들을 사용하기위해 가이드라인에 설명된 용어와 조건들을 반드시 따라야 한다.

 

 

 

8.2

Apps that suggest or infer that Apple is a source or supplier of the App, or that Apple endorses any particular representation regarding quality or functionality will be rejected

애플이 공급하거나, 애플 앱 공급자이거나 또는 품질이나 기능을 애플이 보증한다는 등의 어떠한

암시나 결론을 내도록 표시하는 앱은 거부된다.

8.3

Apps that appear confusingly similar to an existing Apple product, interface, or advertising theme will be rejected

이미 있는 애플 제품의 인터페이스 또는 광고 테마와 유사하거나 혼란을 부추기는 앱은 거부된다.

8.4

Apps that misspell Apple product names in their App name (i.e., GPS for Iphone, iTunz) will be rejected

앱이름에 잘못된 철자의 애플 제품이름을 사용하는 앱은 거부된다.( GPS for iphone, iTunz)

 

 

 

8.5

Apps may not use protected third party material such as trademarks, copyrights, patents or violate 3rd party terms of use. Authorization to use such material must be provided upon request

앱은 제3자의 보호된 상표, 저작권, 특허 또는 제3자와의 계약 위반을 할 수 없다. 사용에 대한 인가 정보는 요청되는경우 반드시 제공되어야 한다.

8.6

Apps that include the ability to download music or video content from third party sources (e.g. YouTube, SoundCloud, Vimeo, etc) without explicit authorization from those sources will be rejected

음악이나 비디오 컨텐츠를 관련자들의 명백한 인가없이 제3자의 소스(유튜브, 사운드클라우드, Vimeo )로부터 다운로드 하는앱은 거부된다.

9. Media content(미디어 컨텐트)

 

9.1

Apps that do not use the MediaPlayer framework to access media in the Music Library will be rejected

음악라이브러리 내부의 미디어 액세스를 위해 MediaPlayer를 사용하는 앱은 거부된다.

9.2

App user interfaces that mimic any iPod or iTunes interface will be rejected

앱 사용자 인터페이스가 iPod또는 iTunes 인터페이스를 흉내 내는 경우 거부된다.

9.3

Audio streaming content over a cellular network may not use more than 5MB over 5 minutes

셀루러 네트워크를 통한 오디오 컨텐츠 스트리밍은 5분동안 5MB이상 초과 사용할 수없다.

 

9.4

Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 192 kbps or lower HTTP Live stream

셀루러 네트워크를 통해 10분이상의 비디오 컨텐츠 스트리밍하는 경우 반드시 HTTP 라이브 스트리밍을 사용해야하며, 192 kbps 또는 그이하의 HTTP Live 스트림 제한선을 포함해야한다.

10. User interface(사용자 인터페이스)

 

10.1

Apps must comply with all terms and conditions explained in the Apple iOS Human Interface Guidelines

앱은 애플 iOS 휴먼 인터페이스 가이드라인에 설명된 계약과 조건을 반드시 따라야한다.

 

 

10.2

Apps that look similar to Apps bundled on iOS or Watch OS devices, including the App Store, iTunes Store, and iBooks Store, will be rejected

iOS또는 Watch OS디바이스의 번들과 유사하게 보이거나, 앱스토어, iTunes스토어, iBook 스토어등과 유사한 기능을 포함하는경우 거부된다.

 

10.3

Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iOS Human Interface Guidelines may be rejected

애플 iOS 휴먼 인터페이스 가이드라인에 올바르게 설명된되로, 버튼이나 아이콘 같은 시스템을 위해 제공된 아이템들을 사용하는경우 거부된다.

 

 

10.4

Apps that create alternate desktop/home screen environments or simulate multi-App widget experiences will be rejected

데스크탑/홈 스크린 환경 또는 다중앱 위젯 경험을 시뮬레이트 하는 앱은 거부된다.

10.5

Apps that alter the functions of standard switches, such as the Volume Up/Down and Ring/Silent switches, will be rejected

볼륨 업/다운, /사일런트 스위치 같은 표준 스위치 기능을 변경시키는 앱은 거부된다.

10.6

Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected

애플과 우리의 고객들은 인터페이스의 단순함, 세련됨, 창조성에 높은 가치를 둔다. 그것은 더 많은 작업이 필요하지만 가치가 있다. 애플은 높은 빗장을 만든다. 만일 당신의 사용자 인터페이스가 복잡하거나, 최상이 아니라면, 그것은 거부될것이다.

10.7

Watch Apps whose primary function is telling time will be rejected

워치앱의 주된 기능이 시간을 말하는 것이라면 거부될것이다.

 

 

 

 

 

11. Purchasing and currencies(구매와 통화)

 

11.1

Apps that unlock or enable additional features or functionality with mechanisms other than the App Store will be rejected

앱이 앱스토어에 있는 다른 앱들의 추가기능이나 특징들을 잠금해제하거나, 활성화 시키는 경우 거부된다.

11.2

Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected

앱이 앱내의 컨텐츠나 기능, 또는 서비스 구매에 In-App 구매 API대신 다른 시스템을 사용하는경우 거부된다.

 

11.3

Apps using IAP to purchase physical goods or goods and services used outside of the App will be rejected

앱이 앱 외부의 실제 물건 또는 물건들과 서비스를 이용을 구매하는데 IAP를 사용하는경우 거부된다.

11.4

Apps that use IAP to purchase credits or other currencies must consume those credits within the App

IAP를사용하여 구매한 크레딧 또는 다른 통화들은 반드시 앱내에서 소모되어야한다.

 

11.5

Apps that use IAP to purchase credits or other currencies that expire will be rejected

IAP를 사용하여 구매한 크레딧이나 다른 통화의 기간이 만료되는 경우 거부된다.

11.6

Content subscriptions using IAP must last a minimum of 7 days and be available to the user from all of their iOS devices

IAP를 사용한 구독 컨텐츠들은 기간이 최소 7일이며, 다른 모든 iOS디바이스들에서 사용할 수 있어야한다.

11.7

Apps that use IAP to purchase items must assign the correct Purchasability type

IAP를 사용하여 구매하는 아이템들에는 올바른 구매 타입을 할당해야한다.

11.8

Apps that use IAP to purchase access to built-in capabilities provided by iOS, such as the camera or the gyroscope, will be rejected

iOS에서 기본 제공되는 카메라 또는 자이로스코프 같은 기본 기능에 IAP구매를 사용하는앱은 거부된다.

11.9

Apps containing content or services that expire after a limited time will be rejected, except for specific approved content (e.g. films, television programs, music, books)

제한된 시간이후에 컨텐츠나 서비스가 만료되는 앱은 특별히 공인된 컨텐츠들(영화들, 텔레비전 프로그램, 음악, )을 제외하고는 거부될 것이다,

11.10

Insurance Apps must be free, in legal-compliance in the regions distributed, and cannot use IAP

보험앱들은 배포지역의 법을 준수해야하며, IAP를 사용할 수 없다.

 

11.11

In general, the more expensive your App, the more thoroughly we will review it

일반적으로, 당신이 앱이 다른것들에 비해 더 비싼경우, 우리는 더욱 철저히 심사할것이다.

11.12

Apps offering subscriptions must do so using IAP, Apple will share the same 70/30 revenue split with developers for these purchases, as set forth in the Program License Agreement

구독을 제공하는 앱들은 반드시 IAP를 사용해야하며, 4번째의 프로그램 라이선스 협정에 설정한것으로 애플은 개발자와 70/30으로 이익을 분배한다.

11.13

Apps that link to external mechanisms for purchases or subscriptions to be used in the App, such as a "buy" button that goes to a web site to purchase a digital book, will be rejected

앱내에서 buy 버튼을 눌러서 책 구매를 위해 웹사이트로 가는것과 같이 외부의 구매 또는 구독 매카니즘 링크를 사용하는 앱은 거부된다.

11.14

Apps can read or play approved content (specifically magazines, newspapers, books, audio, music, video and cloud storage) that is subscribed to or purchased outside of the App, as long as there is no button or external link in the App to purchase the approved content. Apple will only receive a portion of revenues for content purchased inside the App

앱에서 공인된 컨텐츠를 읽거나 플레이 할 수 있으며(특별한 메거진, 신문, , 오디오, 음악, 비디오, 클라우드 저장소) 앱내에 구매를 위한 버튼이나 외부링크가 없기만하면, 앱의 외부에서 구매 또는 구독이 가능하다, 애플은 오직 앱 내부에서 구매된 컨텐츠 수입의 일부만 받을것이다.

11.15

Apps may only use auto-renewing subscriptions for periodicals (newspapers, magazines), business Apps (enterprise, productivity, professional creative, cloud storage), and media Apps (video, audio, voice), or the App will be rejected

자동 갱신 구독은 정기 간행물만(신문, 매거진) 사용할 수 있으며, 비즈니스앱들(기업, 생산성, 전문 창조, 클라우드 저장소)와 미디어앱들(비디오, 오디오, 음성)이 사용하는경우 거부될것이다.

 

 

 

11.16

Apps may enable additional approved features or functionality when used in combination with specific approved physical products (such as a toy) as long as the additional features and functionality are either completely dependent on such hardware (for example an App that is used to control a telescope) or also available through the App without the physical products, such as by way of reward for achievement or by use of IAP

11.17

Apps may facilitate transmission of approved virtual currencies provided that they do so in compliance with all state and federal laws for the territories in which the app functions

12. Scraping and aggregation

 

12.1

Apps that scrape any information from Apple sites (for example from apple.com, iTunes Store, App Store, iTunes Connect, Apple Developer Programs, etc.) or create rankings using content from Apple sites and services will be rejected

 

앱이 애플 사이트로부터의 어떠한 정보를 모은것이거나(예를들어 apple.com, 아이튠즈스토어, 앱스토어, 아이튠즈컨넥트, 애플개발자프로그램, 기타) 애플사이트나 서비스 컨텐츠를 사용하여 순위를 생성하는 형태인경우 거부된다.

 

12.2

Apps may use approved Apple RSS feeds such as the iTunes Store RSS feed

앱은 아이튠즈 스토어의 RSS피드와 같은 공인된 애플의 RSS피드를 사용해야한다.

 

12.3

Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected

앱이 단지 웹페이지 스크랩, 컨텐츠 조각 모음, 링크의 모음인 경우 거부된다.

 

13. Damage or injury(손해 또는 상해)

 

13.1

Apps that encourage users to use an Apple Device in a way that may cause damage to the device will be rejected

장치에 피해를 유발할 수 있는 방법으로 애플 장치를 사용을 유도하는 앱은 거부된다.

 

13.2

Apps that rapidly drain the device's battery or generate excessive heat will be rejected

급격히 장치 배터리를 소모하거나, 과도한 열을 발생시키는 앱은 거부된다.

 

13.3

Apps whose use may result in physical harm may be rejected

앱사용으로 물리적인 손해를 끼치는 앱은 거부된다.

 

 

 

 

14. Personal attacks(인신공격)

 

14.1

Any App that is defamatory, offensive, mean-spirited, or likely to place the targeted individual or group in harm's way will be rejected

명예훼손, 모욕적, 공격적인의미, 또는 개인이나 그룹을 대상으로 해를 끼치는 형태의 앱은 거부된다.

 

14.2

Professional political satirists and humorists are exempt from the ban on offensive or mean-spirited commentary

전문적인 정치 풍자가나 유머작가의 경우 모욕 또는 공격적의미의 해설 금지로부터 면제된다.

 

14.3

Apps that display user generated content must include a method for filtering objectionable material, a mechanism for users to flag offensive content, and the ability to block abusive users from the service

사용자가 생성한 컨텐츠를 표시하는 앱들은 반드시 사용자들의 모욕적인 컨텐츠에 표기하는 매커니즘이나 서비스로부터 사용자들의 욕설을 차단하는것과 같은 형태로  기분이 상할 만한 내용들에 대한 필터링을  포함해야한다.

 

15. Violence(폭력)

 

15.1

Apps portraying realistic images of people or animals being killed or maimed, shot, stabbed, tortured or injured will be rejected

실제와 같은 이미지로 사람이나 동물들을 죽음, 불구, 총에맞거나, 찔림, 고통스러움, 상처입음 과 같은 표현을 하는 앱은 거부된다.

 

15.2

Apps that depict violence or abuse of children will be rejected

아동에 대한 폭력이나 학대를 묘사한 앱은 거부될것이다.

 

15.3

"Enemies" within the context of a game cannot solely target a specific race, culture, a real government or corporation, or any other real entity

게임내 배경이 되는 적들은 구체적인 단일의 형태인 인종, 문화, 실제정부, 회사, 또는 다른 실제 존재들이 될 수 없다.

 

15.4

Apps involving realistic depictions of weapons in such a way as to encourage illegal or reckless use of such weapons will be rejected

무기같은것의 불법 또는 무모한 사용을 부추기는 방법으로 무기의 현실적인 묘사에 몰두한 앱들은 거부된다.

 

15.5

Apps that include games of Russian roulette will be rejected

러시안 룰렛 게임을 포함한 앱은 거부된다.

 

 

 

16. Objectionable content(기분이 상할만한 내용)

 

 

16.1

Apps that present excessively objectionable or crude content will be rejected

지나치게 기분이 상할만 하거나 천연그대로의 컨텐츠를 포함한 앱은 거부된다.

 

16.2

Apps that are primarily designed to upset or disgust users will be rejected

주로 고의 적인 전복 또는 사용자 혐오가 목적인 앱은 거부된다.

 

17. Privacy(사생활)

 

17.1

Apps cannot transmit data about a user without obtaining the user's prior permission and providing the user with access to information about how and where the data will be used

어떠한 또는 어딘가의 데이터들에 대한 정보에 접근하기 위해서 사용자의 주된 허가나 제공없이 데이터를 전송하는 앱은 거부된다.

 

17.2

Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected

기능을 위해서 사용자의 이메일이나, 생일같은 개인정보의 공유를 요구하는 앱은 거부된다.

 

17.3

Apps may ask for date of birth (or use other age-gating mechanisms) only for the purpose of complying with applicable children's privacy statutes, but must include some useful functionality or entertainment value regardless of the user's age

어린이 사생활 범률적용에 따르기 위한 목적으로 생일(또는 다른 나이확인 매커니즘 사용)을 물어 볼 수 있다, 그러나 반드시 몇가지 유용한 기능이나 사용자 나이의 관계없는 서비스적 가치를 포함해야한다.

 

17.4

Apps that collect, transmit, or have the capability to share personal information (e.g. name, address, email, location, photos, videos, drawings, the ability to chat, other personal data, or persistent identifiers used in combination with any of the above) from a minor must comply with applicable children's privacy statutes, and must include a privacy policy

미성년자로 부터 수집, 전송, 개인정보 공유(예를 들어 이름, 주소, 이메일, 위치, 사진, 비디오, 그리기, 채팅, 기타 개인정보 또는 위의 어떠한 데이터를 이용한 지속적인 식별가능함)하는경우 반드시 아동 사생활 범률을 따라야 하며, 개인정보 취급방침을 포함해야 한다.

 

 

17.5

Apps that include account registration or access a users existing account must include a privacy policy or they will be rejected

계정 등록을 포함하거나 유저가 보유한 계정에 접근하는 앱들은 반드시 개인정보 취급방침을 포함해야한다.

 

18. Pornography(포르노그래피)

 

18.1

Apps containing pornographic material, defined by Webster's Dictionary as "explicit descriptions or displays of sexual organs or activities intended to stimulate erotic rather than aesthetic or emotional feelings", will be rejected

포르노그래픽을 포함하거나, Webster's 사전에 선언된 확실한 설명 또는 성적인 표현, 미학적 또는 감정적 관점을 벗어난 성적 호기심을 자극시키는앱은 거부된다.

 

18.2

Apps that contain user generated content that is frequently pornographic (e.g. "Chat Roulette" Apps) will be rejected

사용자가 만든 컨텐츠에 포함된 내용이 빈번한 포르노 그래픽을 포함하는경우 거부된다.

 

19. Religion, culture, and ethnicity(종교, 문화, 민족성)

 

19.1

Apps containing references or commentary about a religious, cultural or ethnic group that are defamatory, offensive, mean-spirited or likely to expose the targeted group to harm or violence will be rejected

앱에는 종교적인 참조나 주석을 담을 수 있지만, 종교, 문화,민족에 대한 명예회손, 모욕행위, 기분 나쁜 의미들, 특정 단체에 대해 해를 입히기 위한 폭로들이 포함되는경우 거부될것이다.

 

19.2

Apps may contain or quote religious text provided the quotes or translations are accurate and not misleading. Commentary should be educational or informative rather than inflammatory

종교적인 내용을 인용하거나 포함할 수 있지만, 정확하게 해석되어야 하며, 오도해서는 안된다.

해설은 자극적이지 않아야 하며, 교육적이거나 정보 재공을 위한 목적이어야한다.

 

20. Contests, sweepstakes, lotteries, raffles, and gambling(콘테스트, 경마, 복권, 도박)

 

20.1

Sweepstakes and contests must be sponsored by the developer/company of the App

20.2

Official rules for sweepstakes and contests must be presented in the App and make it clear that Apple is not a sponsor or involved in the activity in any manner

20.3

It must be permissible by law for the developer to run a lottery App, and a lottery App must have all of the following characteristics: consideration, chance, and a prize

20.4

Apps that allow a user to directly purchase a raffle ticket in the App will be rejected

20.5

Apps that offer real money gaming (e.g. sports betting, poker, casino games, horse racing) or lotteries must have necessary licensing and permissions in the locations where the App is used, must be restricted to those locations, and must be free on the App Store

20.6

Apps that use IAP to purchase credit or currency to use in conjunction with real money gaming will be rejected

21. Charities and contributions(자선과 기부)

 

21.1

Apps that include the ability to make donations to recognized charitable organizations must be free

21.2

The collection of charitable donations must be done via a web site in Safari or an SMS

22. Legal requirements(범률 요구)

 

22.1

Apps must comply with all legal requirements in any location where they are made available to users. It is the developer's obligation to understand and conform to all local laws

앱 사용자들의 지역적  범률 요구를 반드시 따라야 한다. 개발자는 법을 이해하고, 지역법을 따라야한다.

 

22.2

Apps that contain false, fraudulent or misleading representations or use names or icons similar to other Apps will be rejected

앱이 거짓, 사기, 오도된 설명을 포함하거나 다른앱과 비슷한 이름, 아이콘을 사용하는 경우 거부된다.

 

22.3

Apps that solicit, promote, or encourage criminal or clearly reckless behavior will be rejected

구걸하거나, 조장, 범죄 행위나 무모한 행동을 부추기는 앱은 거부된다.

 

22.4

Apps that enable illegal file sharing will be rejected

불법적인 파일 공유를 활성화시키는 앱은 거부된다.

 

22.5

Apps that are designed for use as illegal gambling aids, including card counters, will be rejected

불법 aids 도박, card counters를 포함하기 위해 디자인된 앱은 거부된다.

 

22.6

Apps that enable anonymous or prank phone calls or SMS/MMS messaging will be rejected

익명 또는 장난전화 SMS/MMS메시지를 보내는 앱은 거부된다.

 

22.7

Developers who create Apps that surreptitiously attempt to discover user passwords or other private user data will be removed from the iOS Developer Program

사용자 비밀번호나 다른 개인데이터를 몰래 빼내려는 개발자는 개발자 프로그램에서 제외된다.

 

22.8

Apps that contain DUI checkpoints that are not published by law enforcement agencies, or encourage and enable drunk driving, will be rejected

 

22.9

Apps that calculate medicinal dosages must be submitted by the manufacturer of those medications or recognized institutions such as hospitals, insurance companies, and universities

의학적 투약을 계산하는 앱들은 반드시 약물의 제조사, 병원이나, 보험회사 및 대학 같이 공인된 협회만 게시할 수 있다.

 

22.10

Apps that use iTunes music previews in an unauthorized manner will be rejected

허가받지 않은 방법으로 아이튠즈 음악 미리듣기를 사용하는 앱은 거부된다.

 

23. Wallet

 

23.1

Wallet passes can be used to make or receive payments, transmit offers, or offer identification (such as movie tickets, airline tickets, coupons and reward offers). Other uses may result in the rejection of the App and the revocation of Wallet credentials

23.2

Passes must include valid contact information from the issuer of the pass or the App will be rejected and Wallet credentials may be revoked

23.3

Passes must be signed by the entity that will be distributing the pass under its own name, trademark, or brand or the App will be rejected and Wallet credentials may be revoked

24. Kids Category(아동 카테고리)

 

24.1

Apps in the Kids Category must include a privacy policy and must comply with applicable children's privacy statutes

24.2

Apps in the Kids Category may not include behavioral advertising (e.g. the advertiser may not serve ads based on the user's activity within the App), and any contextual ads presented in the App must be appropriate for kids

24.3

Apps in the Kids Category must get parental permission or use a parental gate before allowing the user to link out of the app or engage in commerce

24.4

Apps in the Kids Category must be made specifically for kids ages 5 and under, ages 6-8, or ages 9-11

25. Extensions(확장)

 

25.1

Apps hosting extensions must comply with the App Extension Programming Guide

25.2

Apps hosting extensions must provide some functionality (help screens, additional settings) or they will be rejected

25.3

Apps hosting extensions that include marketing, advertising, or in-app purchases in their extension view will be rejected

25.4

Keyboard extensions must provide a method for progressing to the next keyboard

25.5

Keyboard extensions must remain functional with no network access or they will be rejected

25.6

Keyboard extensions must provide Number and Decimal keyboard types as described in the App Extension Programming Guide or they will be rejected

25.7

Apps offering Keyboard extensions must have a primary category of Utilities and a privacy policy or they will be rejected

25.8

Apps offering Keyboard extensions may only collect user activity to enhance the functionality of their keyboard extension on the iOS device or they may be rejected

26. HomeKit

 

26.1

Apps using the HomeKit framework must have a primary purpose of providing home automation services

26.2

Apps using the HomeKit framework must indicate this usage in their marketing text and they must provide a privacy policy or they will be rejected

26.3

Apps must not use data gathered from the HomeKit APIs for advertising or other use-based data mining

26.4

Apps using data gathered from the HomeKit API for purposes other than improving the user experience or hardware/software performance in providing home automation functionality will be rejected

27. HealthKit and Human Subject Research

 

27.1

Apps using the HealthKit framework or conducting human subject research for health purposes, such as through the use of ResearchKit, must comply with applicable law for each Territory in which the App is made available, as well as Sections 3.3.28 and 3.3.39 of the iOS Developer Program License Agreement

27.2

Apps that write false or inaccurate data into HealthKit will be rejected

27.3

Apps using the HealthKit framework that store users health information in iCloud will be rejected

27.4

Apps may not use or disclose to third parties user data gathered from the HealthKit API or from health-related human subject research for advertising or other use-based data mining purposes other than improving health, or for the purpose of health research

27.5

Apps that share user data acquired via the HealthKit API with third parties without user consent will be rejected

27.6

Apps using the HealthKit framework must indicate integration with the Health app in their marketing text and must clearly identify the HealthKit functionality in the apps user interface

27.7

Apps using the HealthKit framework or conducting human subject research must provide a privacy policy or they will be rejected

27.8

Apps that provide diagnoses, treatment advice, or control hardware designed to diagnose or treat medical conditions that do not provide written regulatory approval upon request will be rejected

27.9

Apps conducting health-related human subject research must obtain consent from participants or, in the case of minors, their parent or guardian. Such consent must include the (a) nature, purpose, and duration of the research; (b) procedures, risks, and benefits to the participant; (c) information about confidentiality and handling of data (including any sharing with third parties); (d) a point of contact for participant questions; and (e) the withdrawal process

27.10

Apps conducting health-related human subject research must secure approval from an independent ethics review board. Proof of such approval must be provided upon request.

28. TestFlight

 

28.1

Apps may only use TestFlight to beta test apps intended for public distribution and must comply with the full App Review Guidelines

28.2

Apps using TestFlight must be submitted for review whenever a build contains material changes to content or functionality

28.3

Apps using TestFlight may not be distributed to testers in exchange for compensation of any kind

29. Apple Pay

 

29.1

Apps using Apple Pay must provide all material purchase information to the user prior to sale of any good or service or they will be rejected; Apps using Apple Pay to offer recurring payments must, at a minimum, disclose the length of the renewal term and the fact that it will continue until canceled, what will be provided during each period, the charges that will be billed to the customer, and how to cancel.

29.2

Apps using Apple Pay must use Apple Pay branding and user interface elements correctly and as described in the Apple Pay Identity Guidelines or they will be rejected

29.3

Apps using Apple Pay as a purchasing mechanism may not offer goods or services that violate the law of any territory in which the good or service will be delivered and may not be used for any illegal purpose

29.4

Apps using Apple Pay must provide a privacy policy or they will be rejected

29.5

Apps using Apple Pay may only share user data acquired via Apple Pay with third parties when provided to facilitate or improve delivery of goods and services or to comply with legal requirements

 

posted by 래머
2014. 5. 5. 01:51 iOS

게임내에서 게임의 공식 카페나, 또는 앱 다운로드가 가능한 iTunes 스토어로 이동하기위해서

아래와 같은 방법을 사용하면 된다.

인자로 이동할 사이트의 url을 주면 사파리 브라우져가 열리면서 주어진 사이트로 이동된다.



static NSString* CreateNSString(const char* string)

{

    if (string != NULL)

        return [NSString stringWithUTF8String:string];

    else

        return [NSString stringWithUTF8String:""];

}


void iOsGotoHomepage(const char* strURL)

{

    NSString* pURL = CreateNSString(strURL);

    NSURL *url = [NSURL URLWithString:pURL];

    [[UIApplication sharedApplication] openURL:url];

}



posted by 래머
2014. 5. 3. 23:52 iOS


유니티에서 사용하고자 하는경우 아래 코드를 추가하시고
InitCertificateValidationCallback()을 영수증 검증 루틴 실행전 한번 호출해줄필요가 있습니다.

public static void InitCertificateValidationCallback()
        {
            ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate);
        }

        static bool ValidateServerCertificate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;
        }

iOS인앱 결제 후 영수증 검증 루틴이다.

첨부된 JSON라이브러리를 c#프로젝트의 참조에 추가할 필요가 있다.

VerifyIOSReceipt 메소드의 리턴값을 판별해서 

처리하면된다.


IOS_RV_SUCCESS = 영수증 검증 성공

IOS_RV_FAIL_RETRY  = 영수증 검증에 실패 했다, 샌드박스모드에서 다시 검증이 필요하다.

IOS_RV_FAIL  = 유효하지 않은 영수증이다.


using System.Text;

using System.Net;

using System.IO;

using Newtonsoft.Json;

using Newtonsoft.Json.Linq;

using System;


public class CIOSReceiptVerificationMng

{

    public const string IOS_PRODUCT_URL = "https://buy.itunes.apple.com/verifyReceipt";

    public const string IOS_SENDBOX_URL = "https://sandbox.itunes.apple.com/verifyReceipt";


    public const int IOS_RV_SUCCESS = 0;    //ios영수증 검증 결과 성공

    public const int IOS_RV_FAIL_RETRY = 1;    //샌드박스에서 재검증필요

    public const int IOS_RV_FAIL = -1;    //검증 실패


    /*ios영수증 검증

itemID = 해당 영수증으로 결제한 아이템의 ID

receiptData = 영수증 데이터

bProduct = 프로덕트에서 검증할지 샌드박스에서 검증할지, 기본적으로 프로덕트에서 검증하고 리턴값이 IOS_RV_FAIL_RETRY  인경우에 샌드박스에서 검증한다.

*/

    public static int VerifyIOSReceipt(ref string itemID, string receiptData, bool bProduct)

    {

        try

        {

            itemID = null;


            // Verify the receipt with Apple

            string postString = string.Format("{{ \"receipt-data\" : \"{0}\" }}", receiptData);

            ASCIIEncoding ascii = new ASCIIEncoding();

            byte[] postBytes = ascii.GetBytes(postString);

            HttpWebRequest request;


            if (bProduct)

                request = WebRequest.Create(IOS_PRODUCT_URL) as HttpWebRequest;

            else

                request = WebRequest.Create(IOS_SENDBOX_URL) as HttpWebRequest;


            request.Method = "POST";

            request.ContentType = "application/json";

            request.ContentLength = postBytes.Length;

            Stream postStream = request.GetRequestStream();

            postStream.Write(postBytes, 0, postBytes.Length);

            postStream.Close();


            HttpWebResponse response = request.GetResponse() as HttpWebResponse;

            StringBuilder sb = new StringBuilder();

            byte[] buf = new byte[8192];

            Stream resStream = response.GetResponseStream();

            string tempString = null;


            int count = 0;


            do

            {

                count = resStream.Read(buf, 0, buf.Length);

                if (count != 0)

                {

                    tempString = Encoding.ASCII.GetString(buf, 0, count);

                    sb.Append(tempString);

                }

            } while (count > 0);


            var fd = JObject.Parse(sb.ToString());


            try

            {

                resStream.Close();

                response.Close();

            }

            catch

            {

            }


            string strResult = fd["status"].ToString();

            // Receipt not valid

            if (strResult != "0")

            {

                if (strResult == "21007")

                    return IOS_RV_FAIL_RETRY;


                // Error out

                return IOS_RV_FAIL;

            }


            // Product ID does not match what we expected

            var receipt = fd["receipt"];


            /*

            if (String.Compare(receipt["product_id"].ToString().Replace("\"", "").Trim(), itemID.Trim(), true) != 0)

            {

                // Error out

                return IOS_RV_FAIL;

            }

             * */


            //제품 ID정보를 저장함

            itemID = receipt["product_id"].ToString().Replace("\"", "").Trim();


            // This product was not sold by the right app

            if (String.Compare(receipt["bid"].ToString().Replace("\"", "").Trim(), PACKAGE_NAME, true) != 0)

            {

                // Error out

                return IOS_RV_FAIL;

            }


            /*

            // This transaction didn't occur within 24 hours in either direction; somebody is reusing a receipt

            DateTime transDate = DateTime.SpecifyKind(DateTime.Parse(receipt["purchase_date"].ToString().Replace("\"", "").Replace("Etc/GMT", "")), DateTimeKind.Utc);

            TimeSpan delay = DateTime.UtcNow - transDate;

            if (delay.TotalHours > 24 || delay.TotalHours < -24)

            {

                // Error out

                return false;

            }

            */


            // Perform the purchase -- all my purchases are server-side only, which is a very secure way of doing things

            // Success!

        }

        catch// (Exception ex)

        {

            // We crashed and burned -- do something intelligent

            return IOS_RV_FAIL;

        }


        return IOS_RV_SUCCESS;

    }


}


Newtonsoft.Json.dll


Newtonsoft.Json.xml





'iOS' 카테고리의 다른 글

앱스토어 가이드라인  (0) 2015.10.10
iOS사파리 브라우져를 열어서 특정 사이트로 이동  (0) 2014.05.05
posted by 래머
prev 1 next