Asset ios
iPhone 6 Plus (@3x) c++
iPhone 6 and iPhone 5 (@2x) web
iPhone 4s (@2x) api
iPad and iPad mini (@2x) app
iPad 2 and iPad mini (@1x) iphone
App icon (required for all apps) ide |
180 x 180 佈局 |
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 |
1024 x 1024 |
Launch file or image (required for all apps) |
Use a launch file (seeLaunch Images) |
For iPhone 6, use a launch file (see Launch Images) For iPhone 5, 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) |
120 x 120 |
80 x 80 |
80 x 80 |
80 x 80 |
40 x 40 |
Settings icon (recommended) |
87 x 87 |
58 x 58 |
58 x 58 |
58 x 58 |
29 x 29 |
Toolbar and navigation bar icon (optional) |
About 66 x 66 |
About 44 x 44 |
About 44 x 44 |
About 44 x 44 |
About 22 x 22 |
Tab bar icon (optional) |
About 75 x 75 (maximum: 144 x 96) |
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 1024 pixels on the longest edge |
At least 512 pixels on the longest edge |
Web clip icon (recommended for web apps and websites) |
180 x 180 |
120 x 120 |
120 x 120 |
152 x 152 |
76 x 76
|
iphone6/6+ 更新:
Icon-Small@3x.png 87*87
Icon-40@3x.png 120*120
Icon-60@3x.png 180*180
Icon.png 57*57
Icon@2x.png 114*114
Icon-Small.png 29*29
Icon-Small@2x.png 58*58
Icon-Small-50.png 50*50
Icon-Small-50@2x.png 100*100
Icon-72.png 72*72
Icon-72@2x.png 144*144
Icon-40.png 40*40
Icon-40@2x.png 80*80
Icon-60.png 60*60
Icon-60@2x.png 120*120
Icon-76.png 76*76
Icon-76@2x.png 152*152
LaunchImage
For iPhone 6
750 x 1334 (@2x) for portrait
1334 x 750 (@2x) for landscape
For iPhone 6 Plus:
1242 x 2208 (@3x) for portrait
2208 x 1242 (@3x) for landscape
---------------------------------------------------------------------
4.0 inch screen:
Default-568h@2x.png (old 640x1136 ~ for iPhone 5)
4.0 inch screen:
LaunchImage-700-568h@2x.png (new 640x1136 ~ for iPhone 5)
4.7 inch screen:
LaunchImage-800-667h@2x.png (750x1334 ~ for iPhone 6)
5.5 inch screen:
LaunchImage-800-Portrait-736h@3x.png (1242x2208 ~ for iPhone 6 Plus Portrait)
5.5 inch screen:
LaunchImage-800-Landscape-736h@3x.png (2208x1242 ~ for iPhone 6 Plus Landscape)
Retina iPad:
Default-Portrait@2x~ipad.png (1536x2048 ~ for Retina iPad Portrait)
Retina iPad:
Default-Landscape@2x~ipad.png (2048x1536 ~ for Retina iPad Landscape)
iPad Mini/iPad:
Default-Portrait~ipad.png (768x1024 ~ for iPad Portrait)
iPad Mini/iPad:
Default-Landscape~ipad.png (1024x768 ~ for iPad Landscape)
適配iphone6/6+啓動界面
若是舊的工程直接跑到這兩個模擬器中時,默認是"兼容模式",即系統會簡單的把內容等比例放大,顯示效果有些模糊但尚可接受。此時App內部獲取到的設備分辨率和iPhone5是同樣的:320*568 point。
啓用高分辨率模式有2個方法:
1.添加大屏的LaunchImage:
在Images.xcassets裏,刪除舊的LaunchImage組,而後新建LaunchImage組,添加對應高分辨率的圖片。(參考:http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/)
2.添加Launch Screen File
Launch Screen是Xcode6和iOS8新加的功能,它用一個xib文件來做爲啓動畫面。App在舊版iOS(低於ios8)啓動時,該屬性會被自動忽略,不會形成異常。
首先,點擊New File ->iOS User Interface ->Launch Screen,而後在工程設置項裏啓用它:
LaunchFile
不過這個xib不能關聯任何的代碼(不能自定義View的Class,不能IBOutlet,不能加Object),能夠理解成這個xib就是一張截圖,這個方案的好處在於可使用到Size Classes來針對不一樣屏幕布局這個xib。
上面兩處設置,只要啓用任意一個便可讓App進入高分辨率模式;但若是兩處都沒有設置,則App會回退到兼容模式。
兩處都設定的話在ios8會走Launch Screen File,在低於ios8 走LaunchImage
PS:iPhone四、iPhone五、iPhone6這幾個設備的ppi都是相同的,默認圖片優先是@2x。iPhone6 Plus的像素密度更高,默認圖片優先是@3x。 另外,iPhone6 Plus有一點和其餘設備不一樣:在App內部得到的屏幕分辨率是1242*2208,但設備實際分辨率是1920*1080,這時系統會把總體的顯示內容作一個縮放,downscale到1/1.15。
UIPageControl的autoresizingMask
在設置UIPageControl實例的寬度時,顯示的好像老是設置的四倍左右,可是把其餘組建(UILable等)設置在同一父容器中顯示的是正常的。頭文件看到UIPageControl的autoresizingMask默認值是UIViewAutoresizingNone,可是感受沒起做用,因而這是下
UIPageControl顯示正確了。(apple的bug?)
UIActivityViewController crashing on iPads by sdk8
其老早在 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIActivityViewController_Class/ 中就說了:On iPad, you must present the view controller in a popover. On iPhone and iPod touch, you must present it modally。
在sdk8以前你ipad仍是用了presentViewController,那在dismissViewControllerAnimated的時候屏幕會旋轉下,可能你還能接受,可是在sdk8便會直接crash,報錯:
UIActivityViewController
"LaunchServices: invalidationHandler called" with UIActivityViewController iOS8
In iOS8 when I present or dismiss a UIActivityViewController, my app logs: "LaunchServices: invalidationHandler called"。
參考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPopoverPresentationController_class/index.html
https://devforums.apple.com/message/1049415#1049415
http://stackoverflow.com/questions/25192313/sharing-via-uiactivityviewcontroller-to-twitter-facebook-etc-causing-crash
多是蘋果的issue
ios sdk8/ios8 remoteNotification
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在蘋果UIApplication文件中說明:
@interface UIApplication (UIRemoteNotifications)
.
.
.
- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types NS_DEPRECATED_IOS(3_0, 8_0, "Please use registerForRemoteNotifications and registerUserNotificationSettings: instead");
// Returns the enabled types, also taking into account any systemwide settings; doesn't relate to connectivity.
- (UIRemoteNotificationType)enabledRemoteNotificationTypes NS_DEPRECATED_IOS(3_0, 8_0, "Please use -[UIApplication isRegisteredForRemoteNotifications], or -[UIApplication currentUserNotificationSettings] to retrieve user-enabled remote notification and user notification settings");
@end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
因此在ios8中應該用的新的註冊通知的代碼:
本來在IOS7當中 判斷push是否打開的方法是:
若是將這段代碼使用在 IOS8當中,雖然不會出現crash的現象,但永遠返回空。 在IOS8中,咱們使用以下的新代碼來取代以上的代碼:
ios 8 - buttons in horizontal scroll view intercepting pan event - scroll does not work
含有uibutton的ScrollView在iOS8中沒法滾動的解決辦法:
IBInspectable / IBDesignable
http://justsee.iteye.com/admin/blogs/2236938
UIScreen(view.frame)
http://justsee.iteye.com/blog/2154757
iOS8 notification