[英]Can i still publish iOS apps without iPhone 6 launch images (apps that run in scale mode only)?
[英]How do I create launch images for iPhone 6 / 6 Plus Landscape Only Apps?
我有一個現有的橫向應用程序,我正在嘗試添加iPhone 6 / iPhone 6 Plus支持。 當我支持iOS 6/7時,我只使用默認命名的啟動肖像圖像,將風景圖像旋轉為縱向(即,對於4“屏幕,我創建了一個橫向1136x640,然后旋轉以創建640×1136啟動圖像。)
我正在嘗試為iOS 8和iPhone 6 / 6+工作,但還沒有找到有效的東西。 以下是我嘗試過的一些事情:
我找到了一種解決方法,使得僅在iOS 8 GM上使用橫向啟動圖像。 我最終在Info.plist中使用了UILaunchImages數組。 訣竅是讓圖像顯示不明確支持橫向(iPhone 4 / 4S,iPhone 5 / 5S / 5C,iPhone 6),您需要指定重復的條目。 請參閱下面的示例。 這適用於僅支持橫向iPad的橫向手機應用程序。 iOS 7將回退到默認圖像名稱。
所有iPhone發布圖像都需要像往常一樣旋轉到縱向,除了iPhone 6 Plus發布圖像。 它原生支持橫向啟動圖像,因此您需要將其啟動圖像保留為橫向。
以下是Info.plist的相關內容:
<key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-568h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 568}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-568h</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{320, 568}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-667h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{375, 667}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-667h</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{375, 667}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-736h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{414, 736}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-736h</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{414, 736}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-Landscape</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
</array>
iPhone 6等的模式已經改變
iPhone 6( 750x1334 ):
Default-375w-667h@2x~iphone.png
iPhone 6 Plus:( 1242x2208 )
Default-414w-736h@3x~iphone.png
Default-Landscape@3x.png(適用於風景)
請注意,如果您支持iPad,則必須重命名您的iPad默認圖像以附加~ipad,例如Default-Portrait~ipo.png,以防止6 plus選擇那些因為那些覆蓋3x圖像。
以下步驟對我有用:
它適用於iOS7,iOS8上的各種設備。 注意:如果您檢查新的LaunchImage資產,那么您可以看到它真的很奇怪。 它似乎只包含一些沒有iPhone6或iPhone 6plus分辨率圖像的圖像。
對於iPhone 6:
750 x 1334(@ 2x)的肖像
1334 x 750(@ 2x)景觀
對於iPhone 6 Plus:
1242 x 2208(@ 3x)為肖像
2208 x 1242(@ 3x)景觀
或者你可以通過這個鏈接,它可以幫助你
http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/
如果您僅使用Images.xassets“啟動屏幕文件”應為空。 它幫助了我。
這是@AlexArgo的答案的后續內容,它擴展了它,以便僅支持風景,支持iOS 9的應用程序在iOS 9 iPhone上顯示適當的啟動圖像。 與該答案一樣,不需要資產目錄,故事板或xib。
如果沒有這些添加,我們看到的行為是在iOS 9 iPhone上啟動我們的僅景觀應用程序顯示與iOS 8相同的圖像,但圖像順時針旋轉90度並通過拉伸到相反方向的尺寸而扭曲。
該解決方案有兩個部分:
Info.plist
的UILaunchImages
陣列中。 將以下iOS 9項目中引用的新啟動圖像(例如, Default-iOS9-568h
)添加到您的應用程序。 新的發布圖像是實際的 “風景”方向圖像(比它們更高),與@AlexArgo的iOS 8項目引用的圖像不同,后者以風景圖像開始,然后在添加到應用程序之前旋轉到縱向。 請注意,這兩組圖像必須保留在應用程序中,以便此解決方案可以同時在iOS 8和9上運行。
<key>UILaunchImages</key> <array> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>9.0</string> <key>UILaunchImageName</key> <string>Default-iOS9</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{320, 480}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>9.0</string> <key>UILaunchImageName</key> <string>Default-iOS9-568h</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{320, 568}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>9.0</string> <key>UILaunchImageName</key> <string>Default-iOS9-667h</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{375, 667}</string> </dict> ...(pre-iOS 9 items)... </array>
要使用ipad(橫向和縱向模式),您需要在info.plist中添加UILaunchImages~ipad鍵:
<key>UILaunchImages~ipad</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Landscape</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Landscape</string>
<key>UILaunchImageOrientation</key>
<string>Landscape</string>
<key>UILaunchImageSize</key>
<string>{748, 1024}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1004}</string>
</dict>
</array>
對於除plus之外的所有iPhone,沒有針對僅橫向應用的單獨啟動屏幕。 您可以像Deepak描述的那樣在plist中設置方向,然后將縱向啟動屏幕設置為橫向啟動屏幕的旋轉版本。
這就是它一直如此,唯一改變的是現在加上一個獨立的,獨特的景觀發布屏幕。 無論您的應用程序的起始方向如何,所有其他設備仍然只支持縱向啟動屏幕。
我所做的是將我的項目改為不使用資產目錄來發布圖像,並使用iOS7及更早版本的舊技術。 這使得發布圖像適用於iOS7及更早版本。
為了讓它們也適用於iOS8,以便您可以獲得正確的分辨率,並確認您的應用程序是為新的iPhone 6 / +構建的,您還需要創建一個新的LaunchImage XIB並告訴Xcode使用它。
似乎發生的事情是在iOS8設備上啟動應用程序使用新的XIB技術,並在iOS7或更早版本的設備上啟動它使用您已經了解和喜愛的圖像。
這對我來說似乎有效。 這是丑陋的IMO,但它確實有效。
希望這可以幫助一些人。
你只需添加iPhone6-Portrait@2x.png,然后它也將自己修復為Landscape。 我也是iPhone 6和iPhone 6 Plus的專用風景應用程序,它可以正常運行!
要以橫向模式啟動應用程序,請編輯Info.plist文件以使用適當的值(UIInterfaceOrientationLandscapeRight或UIInterfaceOrientationLandscapeLeft)添加UIInterfaceOrientation鍵,如下面的代碼所示。 這提示系統在啟動時適當地設置狀態欄的方向。
清單1:以橫向模式啟動應用程序
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeRight</string>
欲了解更多信息, 請點擊此
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.