2016-04-04 11 views
0

私の質問は、私がCordovaを使って働くアンドロイドアプリのios版を入手できるかどうかです。私はこのようなプラットフォームを追加しようとしている:そして、私はそれを実行しようとするが、それはひどく作品コードワでAndroidアプリを作ってiOSアプリを生成するのは可能でしょうか?

//I add the platform 
cordova platform add ios 
//I compile the project 
cordova build ios 

、それは空白の画面をロードし、プロジェクトがその実行を言います。私はその構成上の問題だと思う。自動的に作成さconfig.xmlには(IOS)次のようになります。

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.project.appios" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <preference name="AllowInlineMediaPlayback" value="false" /> 
    <preference name="BackupWebStorage" value="cloud" /> 
    <preference name="DisallowOverscroll" value="false" /> 
    <preference name="EnableViewportScale" value="false" /> 
    <preference name="KeyboardDisplayRequiresUserAction" value="true" /> 
    <preference name="MediaPlaybackRequiresUserAction" value="false" /> 
    <preference name="SuppressesIncrementalRendering" value="false" /> 
    <preference name="SuppressesLongPressGesture" value="false" /> 
    <preference name="Suppresses3DTouchGesture" value="false" /> 
    <preference name="GapBetweenPages" value="0" /> 
    <preference name="PageLength" value="0" /> 
    <preference name="PaginationBreakingMode" value="page" /> 
    <preference name="PaginationMode" value="unpaginated" /> 
    <feature name="LocalStorage"> 
     <param name="ios-package" value="CDVLocalStorage" /> 
    </feature> 
    <feature name="HandleOpenUrl"> 
     <param name="ios-package" value="CDVHandleOpenURL" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="IntentAndNavigationFilter"> 
     <param name="ios-package" value="CDVIntentAndNavigationFilter" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="GestureHandler"> 
     <param name="ios-package" value="CDVGestureHandler" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="Camera"> 
     <param name="ios-package" value="CDVCamera" /> 
    </feature> 
    <preference name="CameraUsesGeolocation" value="false" /> 
    <feature name="File"> 
     <param name="ios-package" value="CDVFile" /> 
     <param name="onload" value="true" /> 
    </feature> 
    <feature name="Geolocation"> 
     <param name="ios-package" value="CDVLocation" /> 
    </feature> 
    <feature name="Media"> 
     <param name="ios-package" value="CDVSound" /> 
    </feature> 
    <feature name="Capture"> 
     <param name="ios-package" value="CDVCapture" /> 
    </feature> 
    <feature name="Contacts"> 
     <param name="ios-package" value="CDVContacts" /> 
    </feature> 
    <feature name="FileTransfer"> 
     <param name="ios-package" value="CDVFileTransfer" /> 
    </feature> 
    <feature name="InAppBrowser"> 
     <param name="ios-package" value="CDVInAppBrowser" /> 
    </feature> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <allow-navigation href="*" /> 
    <allow-intent href="*" /> 
</widget> 

ルートconfig.xmlには、次のようになります。私は、著者、説明、および電子メールを削除した

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.medife.appios" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>*****</name> 
    <description> 
     ****************** 
    </description> 
    <author email="*******************************"> 
     ********* 
    </author> 
    <content src="index.html" /> 
    <plugin name="cordova-plugin-whitelist" spec="1" /> 
    <access origin="*" /> 
    <allow-navigation href="*" /> 
    <allow-intent href="*" /> 
    <preference name="SplashScreen" value="screen"/> 
    <preference name="SplashScreenDelay" value="5000" /> 
    <preference name="ShowSplashScreenSpinner" value="false" /> 
    <preference name="orientation" value="portrait" /> 
    <platform name="android"> 
    <!-- you can use any density that exists in the Android project --> 
     <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/> 
     <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/> 
     <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/> 
     <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/> 
    </platform> 
    <platform name="ios"> 
     <!-- images are determined by width and height. The following are supported --> 
     <splash src="res/screen/ios/default-568-iphone.png" width="640" height="1136"/> 
     <splash src="res/screen/ios/default-667-iphone.png" width="750" height="1334"/> 
     <splash src="res/screen/ios/default-736-iphone.png" width="1242" height="2208"/> 
    </platform> 
    <icon src="res/logo/logo.png" /> 
</widget> 

...

更新:私は、Xcodeのコンソールで、いくつかのプラグインが見つからないので、この問題について他のstackoverflowの回答を確認しています。私はアプリのバックエンドが古いバージョンのiOSで作られたからだと思う。

ありがとうございます!

+0

iosで設定している間は 'Cordova Prepare'だけする必要があります。 –

+0

@Edu、iOSのどのバージョンを使用していますか?エラートレース?ページをレンダリングするためにあなたのアプリケーションでajax呼び出しを行っていますか? – Gandhi

+0

@GandhiはiOSの最新バージョンを使用しています。少なくとも最新のものに更新しました。エラートレースはありませんが、iOSでGoogle開発者用ツールを使用できないため、jqueryエラーを検索するのは難しいです。私はAjaxを呼び出すがレンダリングはしない。また、私はそれを言及しているが、それはAndroid上で本当にうまく動作しています。私はhavent言及したが、多分助けて、私はまだスプラッシュスクリーンが設定されていないということです。 – Elver

答えて

0

最後に私はそれを得ました。誰かが同じ問題に遭遇あれば、それは助けることができるので、イムは、答えを投稿:

まずいくつかのこと: 1)があり、スプラッシュ画面プラグインに問題が、ありませんそれは私がそれを更新し、それは美しかった、本当に良い作品。 2)私はそれは、IOS上で正常に動作しませんので、いくつかのjQueryを変更する必要がありました: 私は

document.addEventListener('deviceready', onDeviceReady, false); 

そして最後で

$(document).ready(function() { 
    onDeviceReady(); 
}); 

を変更し、これは(両方のアンドロイドに取り組んで私のconfig.xmlにありますそして、iOS):

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.medife.mobile" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>APP NAME</name> 
    <description> 
     YOUR DESCRIPTION 
    </description> 
    <author email="YOURMAIL" href=""> 
     YOUR NAME 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
    <allow-navigation href="*" /> 
    <allow-intent href="*" /> 
    <preference name="SplashScreen" value="screen" /> 
    <preference name="SplashScreenDelay" value="7500" /> 
    <preference name="ShowSplashScreenSpinner" value="false" /> 
    <preference name="orientation" value="portrait" /> 
    <preference name="AutoHideSplashScreen" value="false" /> 
    <platform name="android"> 
     <splash density="port-hdpi" src="res/screen/android/splash-port-hdpi.png" /> 
     <splash density="port-ldpi" src="res/screen/android/splash-port-ldpi.png" /> 
     <splash density="port-mdpi" src="res/screen/android/splash-port-mdpi.png" /> 
     <splash density="port-xhdpi" src="res/screen/android/splash-port-xhdpi.png" /> 
    </platform> 
    <platform name="ios"> 
     <splash src="res/screen/ios/[email protected]~iphone.png" width="640" height="1136"/> 
     <splash src="res/screen/ios/Default-667h.png" width="750" height="1334"/> 
     <splash src="res/screen/ios/Default-736h.png" width="1242" height="2208"/> 
    </platform> 
    <icon src="res/logo/logo.png" /> 
    <plugin name="cordova-plugin-whitelist" spec="~1.2.1" /> 
    <plugin name="cordova-plugin-splashscreen" spec="~3.2.1" /> 
    <plugin name="cordova-plugin-geolocation" spec="~2.1.0" /> 
    <plugin name="cordova-plugin-camera" spec="~2.1.1" /> 
    <plugin name="cordova-plugin-contacts" spec="~2.0.1" /> 
    <plugin name="cordova-plugin-file" spec="~4.1.1" /> 
    <plugin name="cordova-plugin-file-transfer" spec="~1.5.0" /> 
    <plugin name="cordova-plugin-inappbrowser" spec="~1.3.0" /> 
</widget> 

私の時間厳守の問題は、私は高さと幅と私を取得するためにwindow.outerHeightwindow.outerWidthを使用していたということでしたiosで動作しなかったので、代わりにwindow.innerHeightwindow.innerWidthを使用しなければなりませんでした。

関連する問題