http://osxdaily.com/2011/11/23/restart-mission-control-in-os-x-lion/

 

How to Restart Mission Control in Mac OS X

If you make any customizations to Mission Control, or if you encounter obvious problems with how Desktops and apps are handled and assigned, you can restart Mission Control without having to reboot…

osxdaily.com

The command line method is much faster if you’re comfortable with Terminal.app, launch Terminal from /Applications/Utilities/ and type the following command:

killall Dock

Posted by 모과이IT
,

https://m.blog.naver.com/PostView.nhn?blogId=kcskiller&logNo=220605108920&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[iOS] Main.storyboard 에서 custom class

StoryBoard 에서 View 나 기타 등등 UI 를 그렸을 때, 기능을 적용시키기 위하여 Custom Class 를 ...

blog.naver.com

 

TestView.h

@interface TestView : UIView {

}

 

TestView.m

@implementation TestView

 

이런식으로 나와야 Custom Class 등록 가능. 

 

Posted by 모과이IT
,



sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool NO

Posted by 모과이IT
,

http://swift.leantra.kr/

Posted by 모과이IT
,

#import <MediaPlayer/MediaPlayer.h>

#import <MobileCoreServices/UTCoreTypes.h>

#import <AVFoundation/AVFoundation.h>


=============== header ==========

-(void)camaraTest

{

    if ([UIImagePickerController isSourceTypeAvailable:

         UIImagePickerControllerSourceTypeCamera] == YES){

        // Create image picker controller

        UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

        imagePicker.mediaTypes =

        [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];

        // Set source to the camera

        imagePicker.sourceTypeUIImagePickerControllerSourceTypePhotoLibrary;

       // imagePicker.sourceType =  UIImagePickerControllerSourceTypeSavedPhotosAlbum;

        imagePicker.allowsEditing=TRUE;

        // Delegate is self

        

        imagePicker.delegate = self;

        //imageType=1;

        [self presentViewController:imagePicker animated:YES completion:nil];

    }

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

 

    NSString *type = [info objectForKey:UIImagePickerControllerMediaType];

    //NSLog(@"type=%@",type);

    if ([type isEqualToString:(NSString *)kUTTypeVideo] ||

        [type isEqualToString:(NSString *)kUTTypeMovie])

    {// movie != video

        NSURL *urlvideo = [info objectForKey:UIImagePickerControllerMediaURL];

        NSString *tmpDir = NSTemporaryDirectory();

        tmpDir = [tmpDir  stringByAppendingString:@"jimin.mp4"];

        [self convertVideoQtimeToMpeg4:urlvideo withPath:tmpDir];

        

    }

    

    [picker dismissModalViewControllerAnimated:YES]; //dismiss 실행되면 dealloc자동 호출

}


- (void) convertVideoQtimeToMpeg4:(NSURL *) videoURL withPath:(NSString *)videoPath

{

    NSLog(@"======= convertVideoQtimeToMpeg4 ======");

    NSLog(@"videoURL :::: [%@]", videoURL);

    NSLog(@"videoPath :::: [%@]", videoPath);

    

    AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:videoURL options:nil];

    

    NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];

    

    if ([compatiblePresets containsObject:AVAssetExportPresetLowQuality])

    {

        AVAssetExportSession *exportSession = [[AVAssetExportSession alloc]initWithAsset:avAsset presetName:AVAssetExportPresetPassthrough];

        

        exportSession.outputURL = [NSURL fileURLWithPath:videoPath];

        

        exportSession.outputFileType = AVFileTypeMPEG4;

        

        CMTime start = CMTimeMakeWithSeconds(0.0, 600);

        

        CMTimeRange range = CMTimeRangeMake(start, [avAsset duration]);

        

        

        exportSession.timeRange = range;

        

        [exportSession exportAsynchronouslyWithCompletionHandler:^{

            

            switch ([exportSession status])

            {

                case AVAssetExportSessionStatusFailed:

                {

                    NSLog(@"Export failed: %@", [[exportSession error] localizedDescription]);

                }

                    break;

                    

                case AVAssetExportSessionStatusCompleted:

                {

                    NSLog(@"Export Success");

                }

                    break;

                    

                case AVAssetExportSessionStatusCancelled:

                {

                    NSLog(@"Export canceled");

                }

                    break;

                    

                default:

                    

                    break;

            }

        }];

    }

}

Posted by 모과이IT
,

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

    UIImage *selectedImage = [info valueForKey:UIImagePickerControllerOriginalImage];

    NSData *imageData = UIImageJPEGRepresentation(selectedImage, 0.8); // JPEG 인코딩 80% 퀄리티

    

    NSString * imagePath = [self getDocumentImagePath]; //getDocumentImagePath 호출해서 image 있는 경로를 받는다

    NSString * filename = [self saveFileName]; //이미지명을 생성하는 메소드를 호출

    NSString *savePath = [imagePath stringByAppendingPathComponent:filename];

    NSURL *saveURL = [NSURL fileURLWithPath:savePath];

    [imageData writeToURL:saveURL atomically:NO];

    

    [picker dismissModalViewControllerAnimated:YES]; //dismiss 실행되면 dealloc자동 호출

}

-(NSString*)getDocumentImagePath

{

    NSString *homeDir = NSHomeDirectory();

    NSString *imgPath = [NSString stringWithFormat:@"%@/Documents",homeDir];

    

    return imgPath;

}

-(NSString*)saveFileName

{

    NSDate *now = [NSDate date];

    NSDateFormatter *fmt =[[NSDateFormatter alloc] init];

    [fmt setDateFormat:@"YYYYMMddHHmmss"];

    NSString *dateStr = [fmt stringFromDate:now];

    

    NSString *savefilename = [NSString stringWithFormat:@"%@.jpg",dateStr];

    

    return savefilename;

}

Posted by 모과이IT
,


in Member_Joining_1.m file

-------------------------------

NSArray *viewControllers = [[self navigationController] viewControllers];

    for( int i=0;i<[viewControllers count];i++){

        id obj=[viewControllers objectAtIndex:i];

        if([obj isKindOfClass:[MemberJoining_1 class]]){

            [[self navigationController] popToViewController:obj animated:YES];

            return;

        }

    }


-------------------------------


Member_Joining.m 파일에 찾을 클래스 헤더 파일을 include 해주어야 된다.


또한 root로 가는 코드는


[self.navigationController popToRootViewControllerAnimated:YES];


위의 코드는 NavigatorController의 root view로 이동하는 코드임


Posted by 모과이IT
,

http://reysion.tistory.com/15   네비게이션바 관련

http://sidekick.tistory.com/category/Development/iOS   delegate 부분 설명 잘되어있음

Posted by 모과이IT
,

Icon and Image Sizes

Every app needs an app icon and a launch image. In addition, some apps need custom icons to represent app-specific content, functions, or modes in navigation bars, toolbars, and tab bars.

Unlike other custom artwork in your app, the icons and images listed in Table 39-1 must meet specific criteria so that iOS can display them properly. In addition, some icon and image files have naming requirements. (If you need to support standard-resolution iPhone or iPod touch devices, divide by 2 the high-resolution sizes listed below.)

Table 39-1Size (in pixels) of custom icons and images

Description

Size for iPhone 5 and iPod touch (high resolution)

Size for iPhone and iPod touch (high resolution)

Size for iPad and iPad mini (high resolution)

Size for iPad 2 and iPad mini (standard resolution)

App icon (required for all apps)

120 x 120

120 x 120

152 x 152

76 x 76

App icon for the App Store (required for all apps)

1024 x 1024

1024 x 1024

1024 x 1024

1024 x 1024

Launch image (requiredfor all apps)

640 x 1136

640 x 960

1536 x 2048 (portrait)

2048 x 1536 (landscape)

768 x 1024 (portrait)

1024 x 768 (landscape)

Spotlight search results icon (recommended)

80 x 80

80 x 80

80 x 80

40 x 40

Settings icon (recommended)

58 x 58

58 x 58

58 x 58

29 x 29

Toolbar and navigation bar icon (optional)

About 44 x 44

About 44 x 44

About 44 x 44

About 22 x 22

Tab bar icon (optional)

About 50 x 50 (maximum: 96 x 64)

About 50 x 50 (maximum: 96 x 64)

About 50 x 50 (maximum: 96 x 64)

About 25 x 25 (maximum: 48 x 32)

Default Newsstand cover icon for the App Store (required for Newsstand apps)

At least 1024 pixels on the longest edge

At least 1024 pixels on the longest edge

At least 1024 pixels on the longest edge

At least 512 pixels on the longest edge

Web clip icon (recommended for web apps and websites)

120 x 120

120 x 120

152 x 152

76 x 76

For all images and icons, the PNG format is recommended. You should avoid using interlaced PNGs.

The standard bit depth for icons and images is 24 bits—that is, 8 bits each for red, green, and blue—plus an 8-bit alpha channel.

You don’t need to constrain your palette to web-safe colors.


App Icon

On This Page

Every app needs a beautiful, memorable app icon that attracts people in the App Store and stands out on their Home screen. iOS can use versions of the app icon in Game Center, search results, Settings, and to represent app-created documents.

image: ../Art/app_icons_home_screen_2x.png

For the best results, enlist the help of a professional graphic designer. An experienced graphic designer can help you develop an overall visual style for your app and apply that style to all the icons and images in it.

Use universal imagery that people will easily recognize. In general, avoid focusing on a secondary or obscure aspect of an element. For example, the Mail app icon uses an envelope, not a rural mailbox, a mail carrier’s bag, or a post office symbol.

Embrace simplicity. In particular, avoid cramming lots of different images into your icon. Find a single element that captures the essence of your app and express that element in a simple, unique shape. Add details cautiously. If an icon’s content or shape is overly complex, the details can become confusing and may appear muddy at smaller sizes.

Create an abstract interpretation of your app’s main idea. It rarely works well to use a photo or screenshot in an app icon because photographic details can be very hard to see at small sizes. Typically, it’s better to interpret reality in an artistic way, because doing so lets you emphasize the aspects of the subject that you want users to notice.

If you want to portray real substances, do it accurately. Icons that depict real objects should accurately replicate the characteristics of substances such as fabric, glass, paper, and metal, and convey the object’s weight and feel.

Make sure the app icon looks good on a variety of backgrounds. Don’t just test your icon on a light or dark background because you can’t predict which wallpaper people will choose.

Avoid transparency. An app icon should be opaque. If the icon’s boundaries are smaller than the recommended sizes—or you use transparency to create “see-through” areas—the resulting icon can appear to float on a black background, which tends to look especially unattractive on the beautiful wallpapers that users choose.

Don’t use iOS interface elements in your artwork. You don’t want users to confuse your icons or images with the iOS UI.

Don’t use replicas of Apple hardware products in your artwork. The symbols that represent Apple products are copyrighted and can’t be reproduced in your icons or images. In general, it’s a good idea to avoid replicas of any specific devices in your artwork, because these designs change frequently and icons that are based on them can quickly look dated.

Don’t reuse iOS app icons in your interface. It can be confusing to users to see the same icon used to mean slightly different things in multiple locations throughout the system.

With the exception of the App Store icon—which must be named iTunesArtwork—you can name an app icon anything you want. As long as you use the CFBundleIcons key to declare the names and you add the @2xsuffix to the names of all high-resolution icons, iOS chooses an icon based on whether its size is appropriate for the intended usage. To learn more about icon naming, see “App Icons” in iOS App Programming Guide.

Create different sizes of the app icon for different devices. If you’re creating a universal app, you need to supply app icons in all four sizes.

For iPhone and iPod touch, both of these sizes are required:

  • 120 x 120 pixels

  • 60 x 60 pixels (standard resolution)

For iPad, both of these sizes are required:

  • 152 x 152

  • 76 x 76 pixels (standard resolution)

When iOS displays an app icon on the Home screen of a device, it automatically applies a mask that rounds the corners. Make sure your icon has 90° corners so it looks good after the mask is applied. For example:

A 120 x 120 pixel icon before the mask is applied

image: ../Art/star120_original.png

A 120 x 120 pixel icon after the mask is applied

image: ../Art/star120_processed.png

Create a large version of your app icon for display in the App Store. Although it’s important that this version be instantly recognizable as your app icon, it can be subtly richer and more detailed. There are no visual effects added to this version of your app icon.

For the App Store, create a large version of your app icon in two sizes so that it looks good on all devices:

  • 1024 x 1024 pixels

  • 512 x 512 pixels (standard resolution)

Be sure to name this version of your app icon iTunesArtwork@2x and iTunesArtwork, respectively.

If you’re developing an app for ad-hoc distribution (that is, to be distributed in-house only, not through the App Store), you must also provide the large versions of your app icon. This icon identifies your app in iTunes.

Document Icons

If your iOS app creates documents of a custom type, you want users to be able to recognize these documents at a glance. You don't need to design a custom icon for this purpose because iOS uses your app icon to create document icons for you.

Spotlight and Settings Icons

Every app should supply a small icon that iOS can display when the app name matches a term in a Spotlight search. Apps that supply settings should also supply a small icon to identify them in the built-in Settings app.

These icons should clearly identify your app so that people can recognize it in a list of search results or in Settings. For example, the icons of the built-in apps are easy to discern in Settings, even though the icons are small:

image: ../Art/app_icons_in_settings_2x.png

You can name these small icons anything you want as long as you use the CFBundleIcons key to declare the names and you add the @2x suffix to the names of all high-resolution icons. You can use custom names because iOS chooses an icon based on whether its size is appropriate for the intended usage. To learn more about icon naming, see “App Icons” in iOS App Programming Guide.

For all devices, supply separate icons for Spotlight search results and Settings. If you don’t provide these icons, iOS might shrink your app icon for display in these locations.

For Spotlight search results on iPhone, iPod touch, and iPad create an icon in the following two sizes:

  • 80 x 80 pixels

  • 40 x 40 pixels (standard resolution)

For Settings on iPhone, iPod touch, and iPad create an icon in the following two sizes:

  • 58 x 58 pixels

  • 29 x 29 pixels (standard resolution)

Launch Images

A launch image is a simple placeholder image that iOS displays when your app starts up. The launch image gives users the impression that your app is fast and responsive because it appears instantly and is quickly replaced by the first screen of your app.

Because iOS lets you supply different launch images for different uses, you give each image a name that specifies how it should be used. The format of the launch image filename includes modifiers you use to specify the device, resolution, and orientation of the image. To learn how to name launch images appropriately, see “App Launch (Default) Images” in iOS App Programming Guide.

Supply a plain launch image that improves the user experience. In particular, the launch image isn’t an opportunity to provide:

  • An “app entry experience,” such as a splash screen

  • An About window

  • Branding elements, unless they are a static part of your app’s first screen

Because users are likely to switch among apps frequently, you should make every effort to cut launch time to a minimum, and you should design a launch image that downplays the experience rather than drawing attention to it.

Design a launch image that is identical to the first screen of the app, except for:

  • Text. The launch image is static, so any text you display in it won’t be localized.

  • UI elements that might change. If you include elements that might look different when the app finishes launching, users can experience an unpleasant flash between the launch image and the first app screen.

If you think that following these guidelines will result in a plain, boring launch image, you’re right. Remember, the launch image doesn’t provide you with an opportunity for artistic expression. It’s solely intended to enhance the user’s perception of your app as quick to launch and immediately ready for use. For example, Settings and Weather each supply a launch image that is little more than a static background image.

The Settings launch image

image: ../Art/settings_launch_2x.png

The Weather launch image

image: ../Art/weather_launch_2x.png

Create launch images in different sizes for different devices. Launch images for all devices must include the status bar region. Create launch images in the following sizes:

For iPhone 5 and iPod touch (5th generation):

  • 640 x 1136 pixels

For other iPhone and iPod touch devices:

  • 640 x 960 pixels

  • 320 x 480 pixels (standard resolution)

For iPad portrait:

  • 1536 x 2048 pixels

  • 768 x 1024 pixels (standard resolution)

For iPad landscape:

  • 2048 x 1536 pixels

  • 1024 x 768 pixels (standard resolution)


Bar Button Icons

iOS defines lots of standard bar-button icons, such as Refresh, Share, Add, and Favorites. As much as possible, you should use these buttons and icons to represent standard tasks in your app. (To learn more about the standard buttons and icons you can use, see Toolbar and Navigation Bar Buttons and Tab Bar Icons.)

If your app includes tasks or modes that can’t be represented by a standard icon—or if the standard icons don’t coordinate with your app’s style—you can design your own bar button icons. At a high level, you should aim for an icon design that is:

  • Simple and streamlined. Too many details can make an icon appear sloppy or indecipherable.

  • Not easily mistaken for one of the system-provided icons. Users should be able to distinguish your custom icon from the standard icons at a glance.

  • Readily understood and widely acceptable. Strive to create a symbol that most users will interpret correctly and that no users will find offensive.

Whether you use only custom icons or a mix of custom and standard, all icons in your app should look like they belong to the same family in terms of perceived size, level of detail, and visual weight.

For example, take a look at the family of iOS bar icons and notice how the similarities in size, detail, and weight produce a sense of harmonious unity:

image: ../Art/icon_family_2x.png

To create a coherent family of icons, consistency is key: As much as possible, each icon should use the same perspective and the same stroke weight. To ensure that all icons have a consistent perceived size, you may have to create some icons at different actual sizes. For example, the set of system provided icons shown here all have the same perceived size, even though the Favorites and Voicemail icons are actually a bit larger than the other three icons.

image: ../Art/balanced_icons_2x.png

If you’re designing a custom tab bar icon, you should provide two versions—one for the unselected appearance and one for the selected appearance. The selected appearance is often a filled-in version of the unselected appearance, but some designs call for variations on this approach.

image: ../Art/invert_or_fill_2x.png

To create a filled-in version of an icon that has interior details (such as the Radio icon) invert the details so they retain their prominence in the selected version. The Keypad icon also has interior details, but the selected version would be confusing and hard to recognize if its background was filled in and the circles became white outlines.

image: ../Art/alternate_design_2x.png

Sometimes, a design needs a slight alteration to look good when it’s selected. For example, because the Timer and Podcasts icons include open areas, the selected versions condense the strokes a bit to fit into a circular enclosure.

image: ../Art/thicker_stroke_2x.png

If an icon becomes less recognizable when it’s filled in, a good alternative is to use a heavier stroke to draw the selected version. For example, the selected versions of the Voicemail and Reading List icons are drawn with a 4-pixel stroke, instead of the 2-pixel stroke that was used to draw the unselected versions.

image: ../Art/filled_in_both_states_2x.png

Sometimes, an icon’s shape has details that don’t look good in a stroked outline. When this is the case—as it is for the Music and Artists icons—you can use the filled-in appearance for both versions of the icon. It’s easy for users to distinguish the selected and unselected appearances of such icons because the selected appearance is darker and gets the tint.

A custom icon that you create for a toolbar, navigation bar, or tab bar is also known as a template image, because iOS uses it as a mask to produce the icon you see when your app runs. If you create a full-color template image, iOS ignores the color.

To design a custom bar icon, follow these guidelines:

  • Use pure white with appropriate alpha transparency.

  • Not include a drop shadow.

  • Use antialiasing.

If you want to create a bar icon that looks like it's related to the iOS 7 icon family, use a very thin stroke to draw it. Specifically, a 2-pixel stroke (high resolution) works well for detailed icons and a 3-pixel stroke works well for less detailed icons.

Regardless of the icon’s visual style, create a toolbar or navigation bar icon in the following sizes:

  • About 44 x 44 pixels

  • About 22 x 22 pixels (standard resolution)

Regardless of the icon’s visual style, create a tab bar icon in the following sizes:

  • About 50 x 50 pixels (96 x 64 pixels maximum)

  • About 25 x 25 pixels (48 x 32 pixels maximum) for standard resolution

Don’t include text in a custom tab bar icon. Instead, use the tab bar item APIs to set the title for each tab (for example, initWithTitle:image:tag:). If you need to adjust the automatic layout of the title, you can use the title adjustment APIs, such as setTitlePositionAdjustment:.


Web Clip Icons

If you have a web app or a website, you can provide a custom icon that users can display on their Home screens using the web clip feature. Users tap the icon to reach your web content in one easy step. You can create an icon that represents your website as a whole or an icon that represents a single webpage.

iOS also displays web clip icons in Safari Favorites, which is the grid of icons that appears when users tap the URL field or open a new tab in Safari.

If your web content is distinguished by a familiar image or recognizable color scheme, it makes sense to incorporate it in your icon. However, to ensure that your icon looks great on the device, you should also follow the guidelines in this section. (To learn how to add code to your web content to provide a custom icon, see Safari Web Content Guide.)

For iPhone and iPod touch, create icons that measure:

  • 120 x 120 pixels

  • 60 x 60 pixels (standard resolution)

For iPad, create icons that measure:

  • 152 x 152 pixels

  • 76 x 76 pixels (standard resolution)

Creating Resizable Images

You can create a resizable image to customize the background of several standard UI elements, such as popovers, buttons, navigation bars, tab bars, and toolbars (including the items on these bars). Providing resizable images for these elements can result in better app performance.

For many UI elements, you can also specify end caps in addition to a background appearance. An end capdefines an area of the image that should not be resized. For example, you might create a resizable image that includes four end caps that define the four corners of a button. When the image is resized to fill the button’s background area, the portions defined by the end caps are drawn unchanged.

Depending on the dimensions of the resizable image you supply, iOS either stretches or tiles it as appropriate to fill a UI element’s background area. To stretch an image means to scale up the image, without regard for its original aspect ratio. Stretching is performant, but it isn’t usually desirable for a multipixel image that can distort. To tile an image is to repeat the original image as many times as necessary to fill the target area. Tiling is less performant than stretching, but it's the only way to achieve a textured or patterned effect.

As a general rule, you should supply the smallest image (excluding end caps) that will result in the look you want. For example:

  • If you want a solid color with no gradient, create a 1 x 1 point image.

  • If you want a vertical gradient, create an image that has a width of 1 point and a height that matches the height of the UI element’s background.

  • If you want to provide a repeating textured appearance, you need to create an image with dimensions that match the dimensions of the repeating portion of the texture.

  • If you want to provide a nonrepeating textured appearance, you need to create a static image with dimensions that match the dimensions of the UI element’s background area.


Posted by 모과이IT
,
개발하실때 요것과 데이비드아노만 피하시면 리젝은 피하실수 있을겁니다


2. 기능성 

2.1     (시스템을) 고장내는 앱은 승인하지 않는다.
2.2     버그가 발견되는 앱은 승인하지 않는다.
2.3     개발자가 명시한대로 작동하지 않는 앱은 승인하지 않는다.
2.4     문서 상의 설명과는 일치하지 않는 숨겨진 요소 혹은 불법적 요소를 포함한 앱은 승인하지 않는다.
2.5     공개되지 않은 API(어플리케이션 프로그래밍 인터페이스)를 사용한 앱은 승인하지 않는다.
2.6     할당된 공간 외의 곳에서 데이터를 읽거나 쓰는 앱은 승인하지 않는다.
2.7     어떤 방식이나 형태로든 코드를 다운받는 앱은 승인하지 않는다.
2.8     다른 실행 가능한 코드를 인스톨 혹은 실행시키는 앱은 승인하지 않는다.
2.9     “베타”, “데모”, “체험판” 혹은 “테스트” 버전인 앱들은 승인하지 않는다.
2.10   아이폰 앱은 별도의 조정없이 아이패드에서도 사용할 수 있어야한다. 해상도는 아이폰과 동일, 아이폰3GS의 2배이다.
2.11   앱스토어에 이미 있는, 그중에서도 특히 유사한 종류 여럿이 존재하는 앱을 복제한 앱은 승인하지 않는다. 
2.12   실용적으로 유용하지 않거나 지속적인 오락적 가치를 제공하지 못하는 앱은 승인하지 않는다.
2.13   마케팅이나 광고가 주목적으로 제작된 앱은 승인하지 않는다.
2.14   명확하게 명시되지 않은 속임 혹은 가짜 기능을 제공하기 위해 만들어진 앱은 승인하지 않는다.
2.15   20메가가 넘는 크기의 앱은 무선 네트워크를 통해서 다운로드할 수 없다. (앱스토어에서 자동적으로 이를 방지함)
2.16   멀티태스킹 앱은 백그라운드 서비스를 그것들의 기본적인 목적에 맞게 사용해야한다. 
(예: 인터넷전화, 오디오 플레이백, 지역, 과제수행, 지역 공지 등)
2.17   웹브라우징하는 앱은 IOS WebKit framework와 WebKit Javascript를 반드시 사용해야한다.
2.18   알코올 혹은 법적으로 금지된 물질의 과도한 소비를 조장하거나, 미성년자의 음주 및 흡연을 조장하는 앱은 승인하지 않는다.
2.19   잘못된 진단결과 혹은 기타 부정확한 기기 정보를 제공하는 앱은 승인하지 않는다.
2.20   앱스토어에 유사한 앱의 여러가지 버전을 올려서 “스팸질”을 하는 개발자는 iOS 개발자 프로그램에서 퇴출한다.


3. 메타데이터 (이름, 설명, 등급, 순위 등) 
3.1     다른 모바일 플랫폼의 이름을 명시한 메타데이터를 포함한 앱은 승인하지 않는다. 
3.2     플레이스홀더 텍스트를 포함한 앱은 승인하지 않는다. 
3.3     앱 설명에서 앱 컨텐츠, 기능과 상관없는 기술을 한 앱은 승인하지 않는다. 
3.4     아이튠스 커넥트 상에 표시되는 앱의 이름과 기기 상에 표시되는 앱의 이름은 서로 비슷해야한다. 이는 혼란을 피하기 위한 목적이다. 
3.5     앱의 큰 아이콘과 작은 아이콘은 혼란을 피하기 위해 서로 비슷해야한다. 
3.6     4세 이상 등급을 지키지 않은 앱 아이콘과 스크린샷을 포함한 앱은 승인하지 않는다. 
3.7     앱 컨텐츠에 맞지 않는 카테고리, 장르를 표기한 앱은 승인하지 않는다. 
3.8     개발자는 자신의 앱에 적합한 등급을 매길 책임이 있다. 부적합한 등급은 애플이 수정할 수 있다. 
3.9     개발자는 자신의 앱에 적합한 키워드를 부여할 책임이 있다. 부적합한 키워드는 애플이 수정하거나 삭제할 수 있다.
3.10   거짓 리뷰, 돈을 주고 작성한 리뷰, 혹은 기타 부적합한 방법으로 유저 리뷰 혹은 앱스토어 상의 차트 순위를 조작하거나 부풀리려는 시도를 한 개발자는 iOS 개발자 프로그램에서 퇴출한다. 


4. 지역 
4.1 지역 데이터를 수집, 전송, 혹은 사용하기 전에 해당사항에 관해 사용자의 합의를 공지하지 않거나 득하지 않은 앱은 승인하지 않는다.
4.2  지역 데이터에 근거한 API를 통해 자동차, 비행기 혹은 기타 기기들의 자동, 자주적인 조작을 하고자 하는 앱은 승인하지 않는다.
4.3  지역 데이터에 근거한 API를 통해 발송, 차량관리, 혹은 긴급 서비스를 하고자 하는 앱은 승인하지 않는다. 

5. 알림서비스 (푸쉬 노티피케이션) 
5.1 APN(애플 푸쉬 노티피케이션) API를 사용하지 않은 알림서비스를 제공하는 앱은 승인하지 않는다.
5.2 애플로부터 푸쉬 어플리케이션 ID를 득하지 않고 APN 서비스를 사용하는 앱은 승인하지 않는다.
5.3 사용자 합의를 먼저 득하지 않고 알림서비스를 보내는 앱은 승인하지 않는다.
5.4 알림서비스를 통해 민감한 개인정보, 혹은 비밀정보를 보내는 앱은 승인하지 않는다.
5.5 알림서비스를 통해 원하지 않는 메시지를 전하거나, 피싱 혹은 스팸의 목적으로 만들어진 앱은 승인하지 않는다.
5.6 앱의 알림서비스를 이용하여 광고, 프로모션, 혹은 어떠한 직접적 마케팅도 해서는 안된다.
5.7 앱의 알림서비스 사용료를 사용자들로 하여금 부담하게 해서는 안된다.
5.8 알림서비스를 통해 네트워크 용량 혹은 APN 서비스의 대역폭을 과도하게 사용하거나 기기에 지나친 부담을 주는 앱은 승인하지 않는다.
5.9     바이러스, 파일, 컴퓨터 코드, 혹은 APN 서비스의 정상적인 기동을 방해하거나 손상을 끼치는 프로그램을 전송하는 앱은 승인하지 않는다. 

6. 게임센터 
6.1     플레이어 ID를 최종사용자 혹은 제3자에게 보여주는 앱은 승인하지 않는다. 
6.2     어떠한 목적으로든 플레이어 ID를 사용하는 앱은 승인하지 않는다. 단, 그것이 게임센터 약관에 근거하였을 경우는 논외로 한다.
6.3     룩업, 트레이스, 릴레이트, 어소시에이트, 마인, 하베스트 등을 역추적하여 플레이어 ID, 가명 혹은 기타 게임센터를 통해 얻을 수 있는 정보를 이용하고자 하는 개발자는 iOS 개발자 프로그램에서 퇴출한다.
6.4     순위권 점수 따위의 게임센터 정보는 게임센터의 승인을 받은 앱에서만 사용할 수 있다.
6.5     게임센터 서비스를 통해 원하지 않는 메시지를 전하거나, 피싱 혹은 스팸의 목적으로 만들어진 앱은 승인하지 않는다.
6.6     게임센터 서비스를 통해 네트워크 용량 혹은 APN 서비스의 대역폭을 과도하게 사용하는 앱은 승인하지 않는다.
6.7     바이러스, 파일, 컴퓨터 코드, 혹은 게임센터 서비스의 정상적인 기동을 방해하거나 손상을 끼치는 프로그램을 전송하는 앱은 승인하지 않는다. 


7. 전자광고 
7.1     인위적으로 광고의 시청수나 조회수를 올리고자 하는 앱은 승인하지 않는다.
7.2     아무 내용이 없는 전자광고 배너를 달고 있는 앱은 승인하지 않는다.
7.3     광고를 보여주는 것이 주목적인 앱은 승인하지 않는다.

8. 상표, 상품외장 
8.1     개발자들은 애플 상표 및 저작권 사용에 관한 가이드라인과 애플 상표 리스트에 명시된 모든 약관에 근거하여 앱을 제작해야 한다.
8.2     애플이 앱의 소스나 공급자라고 주장하거나 애플이 앱의 품질이나 기능을 보증한다는 내용을 주장 혹은 암시하는 앱은 승인하지 않는다.
8.3     애플 제품이나 광고 주제와 혼동할 수 있을 정도로 유사한 앱은 승인하지 않는다.
8.4     앱 이름 상에 애플 제품 이름의 철자를 잘못 적었을 경우 (예, GPS for Iphone, iTuz) 해당 앱은 승인하지 않는다.
8.5     법적으로 보장되는 제3자의 권리(상표, 저작권, 기업비밀, 기타 등록된 컨텐츠)를 사용할 경우 요청 시 서류화된 사용권을 제출해야한다.
8.6     오리지널 컨텐츠의 기능에 변화가 없고 해당 브랜드에 관해 모든 것을 명확히 확인할 수 있다는 전제 하에서 구글 맵스 API를 통해 습득한 구글 맵스 및 구글 어스 이미지는 어플리케이션 내에서 사용할 수 있다. 

9. 미디어 컨텐츠 
9.1     음악 라이브러리에 접속 시 MediaPlayer framework를 사용하지 않는 앱은 승인하지 않는다.
9.2     아이팟 인터페이스를 흉내낸 사용자 인터페이스를 가진 앱은 승인하지 않는다.
9.3     무선 네트워크를 통한 오디오 스트리밍 컨텐츠는 5분 간 5메가 이상 사용하지 않도록 한다.
9.4     무선 네트워크를 통한 비디오 스트리밍 컨텐츠는 10분을 초과하는 경우 HTTP 라이브 스트리밍을 사용해야하며, 기본 64kbps 오디오만 사용한 HTTP 라이브 스트림을 포함해야한다. 

10. 사용자 인터페이스 
10.1   모든 앱은 애플 아이폰 Human Interface Guidelines과 애플 아이패드 Human Interface Guidelines에 맞춰 제작해야 한다.
10.2   앱스토어, 아이튠스스토어, 아이북스토어를 포함한 아이폰 상에 기본으로 제공되는 번들 앱과 유사한 앱은 승인하지 않는다.
10.3   애플 아이폰 Human Interface Guidelines과 애플 아이패드 Human Interface Guidelines에 명시된대로 버튼이나 아이콘 등을 제대로 제공하는 시스템이 없는 앱은 승인하지 않는다.
10.4   변경된 데스크탑/홈 스크린 환경을 만들거나 멀티앱 위젯 환경을 시뮬레이션하는 앱은 승인하지 않는다.
10.5   볼륨 업/다운 및 벨소리/진동 스위치 같은 기본적인 스위치 기능을 변경하는 앱은 승인하지 않는다.
10.6   애플과 애플의 고객들은 심플하고 세련되며 창의적이고 좋은 아이디어에서 나온 인터페이스를 높이 평가한다. 
이러한 인터페이스를 만들기 위해서는 더 많은 노력이 필요하지만, 그럴만한 가치가 있는 일이다. 
인터페이스에 관한 애플의 기준치는 높다. 
만약 당신의 사용자 인터페이스가 복잡하거나 좋지 않을 경우 해당 앱을 승인하지 않을 것이다. 

11. 구입, 통화 
11.1   락을 풀어서 앱스토어 이외의 메커니즘에서 추가적인 기능을 사용할 수 있도록 하는 앱은 승인하지 않는다.
11.2   앱 상의 구매 API (IAP) 이외의 시스템을 통해 앱 상의 컨텐츠, 기능, 혹은 서비스를 구매할 수 있도록 하는 앱은 승인하지 않는다.
11.3   IAP를 통해 어플리케이션 외에서 쓰이는 상품이나 서비스를 구입할 수 있도록 하는 앱은 승인하지 않는다.
11.4   IAP를 통해 신용이나 다른 통화를 구입하는 앱의 경우 해당 신용을 어플리케이션 내에서 소비해야한다.
11.5   IAP를 통해 만료된 신용이나 다른 통화를 구입하는 앱은 승인하지 않는다.
11.6   IAP를 통한 컨텐츠 가입은 최소 30일 동안 유지되어야하며, iOS를 사용하는 기기를 가진 모든 사용자들에게 공개되어야한다.
11.7   IAP를 통해 물품을 구입하는 앱의 경우 정확한 구입기능이 있어야한다.
11.8   IAP를 통해 카메라나 자이로스코프 따위의 iOS에 내장된 기능에 접속할 수 있는 권한을 구매할 수 있도록 하는 앱은 승인하지 않는다.
11.9   “렌탈” 컨텐츠나 일정 기간이 지나면 만료되는 서비스를 포함한 앱은 승인하지 않는다.
11.10   보험 어플리케이션은 무료여야하며, 배포되는 지역의 법을 준수해야한다. 또한, 해당 앱은 IAP를 사용할 수 없다.
11.11   전반적으로, 당신이 만든 앱이 비쌀수록 우리는 더 철저하게 리뷰를 할 것이다. 

12. 긁어오기, 종합 
12.1   애플 사이트(예: apple.com, 아이튠스스토어, 앱스토어, 아이튠스커넥트, 애플 개발자 프로그램 등)로부터 정보를 긁어오거나 애플 사이트와 서비스의 컨텐츠를 이용해서 순위를 만드는 앱은 승인하지 않는다.
12.2   어플리케이션은 아이튠스스토어 RSS feed 따위의 승인받은 애플 RSS feeds를 사용해야 한다.
12.3   웹상의 자료를 잘라온 것이나 컨텐츠 모음, 혹은 링크모음 따위의 앱은 승인하지 않는다. 

13. 기기에 손상 
13.1   사용자들로 하여금 애플 기기를 기기를 손상시키는 방향으로 사용하게 유도하는 앱은 승인하지 않는다.
13.2   기기의 배터리를 급격히 소모시키거나 과도한 열을 발생시키는 앱은 승인하지 않는다.

14. 개인적인 공격 
14.1   명예훼손, 공격적, 비열한 내용을 포함하거나 혹은 특정인이나 집단에게 해를 끼칠 수 있는 앱은 승인하지 않는다.
14.2   직업적 정치 풍자가나 유머작가는 공격적, 비열한 코멘트로 인한 금지 항목에서 제외한다. 

15. 폭력성 
15.1   사람이나 짐승이 살해당하는 모습, 불구가 되는 모습, 총에 맞는 모습, 칼에 찔리는 모습, 고문당하거나 다치는 모습의 실제 이미지를 표현한 앱은 승인하지 않는다.
15.2   폭력이나 아동학대를 묘사한 앱은 승인하지 않는다.
15.3   게임 상의 “적”은 특정인종, 문화, 실존하는 정부나 회사, 혹은 그 어떤 실제적 존재를 단독으로 지목하여 만들어서는 안된다.
15.4   무기를 통한 폭력을 현실적으로 보여줘서 무기의 불법적, 난폭한 사용을 독려하는 앱은 승인하지 않는다.
15.5   러시안 룰렛을 포함한 앱은 승인하지 않는다. 

16. 거부감을 주는 컨텐츠 
16.1   과도하게 거부감을 주거나 상스러운 컨텐츠를 보여주는 앱은 승인하지 않는다.
16.2   주로 사용자를 기분나쁘게 하거나 역겹게 하기 위한 목적으로 제작된 앱은 승인하지 않는다. 

17. 사생활 
17.1   모든 앱은 사용자 정보 사용에 관해 사전에 사용자의 허락없이, 그리고 사용자로 하여금 해당 정보가 어디서 어떻게 사용될 것인지에 관해 알려주지 않은 채 사용자 정보를 전송할 수 없다.
17.2   구동을 위해서 이메일 주소나 생년월일 따위의 사용자 개인정보의 공유를 필요로 하는 앱은 승인하지 않는다.
17.3   미성년자를 대상으로 정보수집을 하는 앱은 승인하지 않는다. 

18. 포르노그래피 

18.1   웹스터 사전에서 정의한 “생식기관의 노골적 묘사, 그리고 미적이나 감성적인 느낌이 아닌 에로틱한 느낌을 유발하기 위한 목적의 노골적 행위를 표현한 것”에 해당하는 포르노물을 포함한 앱은 승인하지 않는다.
18.2   수시로 포르노물에 해당하는 내용이 등장하는 사용자 제작 컨텐츠를 포함하는 앱(예: “채트 룰렛” 앱)은 승인하지 않는다. 

19. 종교, 문화, 인종 
19.1   특정 종교, 문화, 혹은 인종에 대해 명예훼손, 공격적, 비열한 태도를 취하고 있거나 해당 그룹에게 피해를 끼칠 수 있는 코멘트 혹은 문헌을 포함한 앱은 승인하지 않는다.
19.2   앱이 종교적인 텍스트를 포함할 경우, 텍스트 상의 멘트나 번역은 정확해야한다. 코멘트는 선동적이라기보다는 교육적이거나 정보전달 차원에서 그쳐야한다. 

20. 컨테스트, 경품, 복권, 추첨 
20.1   경품 및 컨테스트는 앱의 개발자/회사가 후원하여 제공해야한다.
20.2   경품 및 컨테스트에 관한 공식적인 룰이 앱 상에 표기되어야하며, 해당 행위에 관해 애플이 관련이 없다는 점을 명확히 해야한다.
20.3   복권 앱을 만들기 위해서는 개발자가 법적 허가를 득해야하며, 복권 앱은 해당 3가지 특성을 모두 갖추고 있어야한다: 배려, 기회, 상금
20.4   사용자로 하여금 직접적으로 복권이나 추첨티켓을 살 수 있도록 하는 앱은 승인하지 않는다. 

21. 자선, 기부 
21.1   자선단체에 기부할 수 있는 기능을 포함한 앱은 무료여야한다.
21.2   기부금의 모금은 사파리 상의 웹사이트나 SMS를 통해 이뤄져야한다. 

22. 법적 요구사항 
22.1   앱은 사용자에게 공개되는 지역의 법적 요구사항을 충족시켜야한다. 모든 지역법을 이해하고 따르는 것은 개발자들의 의무사항이다.
22.2   허위사실, 사기, 호도된 정보를 포함한 앱은 승인하지 않는다.
22.3   범죄 혹은 난폭한 행위를 요청, 촉진, 장려하는 앱은 승인하지 않는다.
22.4   불법적 파일 공유를 가능케하는 앱은 승인하지 않는다.
22.5   카드 카운터를 포함한 불법적 도박을 조장하기 위해 만들어진 앱은 승인하지 않는다.
22.6   익명 혹은 장난스러운 전화나 SMS/MMS 메시지 전송이 가능한 앱은 승인하지 않는다.
22.7   부정한 방법으로 사용자의 패스워드나 기타 개인정보를 알아내고자 하는 목적으로 앱을 만든 개발자는 iOS 개발자 프로그램에서 퇴출한다. 
Posted by 모과이IT
,