Мне удалось самому разобраться ... в конце концов. Я создал новый проект, используя «phonegap create ..» - также обновил версию Cordova.
В config.xml я добавил это:
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>need camera access to take pictures</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to get pictures from there</string>
</edit-config>
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
<string>need location access to find things nearby</string>
</edit-config>
<edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to save pictures there</string>
</edit-config>
И в manifest.xml я добавил:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Также по этой статье:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/
передача файлов устарела, после небольшого исследования люди, кажется, используют:
XMLHttpRequest, поэтому я изменил код передачи на:
var fd = new FormData();
fd.append("file", file);
fd.append("id","88");
var posts = new XMLHttpRequest();
posts.onreadystatechange = function() { // listen for state changes
if (posts.readyState == 4 && posts.status == 200) { // when completed we can move away
window.location = "done.html";
}
}
posts.open("POST", 'http://example.com/test1.php', true);
posts.send(fd);
Не уверен, какой из них действительно решил проблему. Я предполагаю, что когда я пытался что-то сделать в оригинальном проекте, что-то было изменено или добавлено, что расстроило его