Hot restart error with cannot copy ipa file - xamarin.forms

While I am aware that Hot Restart is in preview, it was for quite a while now and my testing never really worked since the first time I've tried it. I've waited for a few VS studio versions to come up, hoping that my issue will be fixed. Since I've kept an eye on issues and haven't seen something similar, I tend to believe that the issue is locally with my setup.
Here is the situation:
I've enabled Hot Restart in VS and added my account, picked the team (after I was added) and everything went fine without errors. I have a free apple account, but after I was added to a Team I was able to obtain automatic provisioning to work.
I've tried to set the debug build options similar to how the simulator was set
I've disabled device specific build as I saw in the docs that it can create problems.
I've installed iTunes just as specified in the docs and when I connect my device to my Windows 10 PC, I can select it from the list.
So basically it looks like everything is set up. I use for testing an iphone 7 with latest iOS version.
Here is what happens:
I've selected different types of output logs hopeing to catch some error in there that could lead me to find a solution.
when starting to build I can see "Building offline for a local device" and I can see my provisioning file details on "Detected signed identity"
I see no apparent error while it compiles and does its job, no complains about signing
then it gets to the IpaCopyToStagingDirectory and there it starts to copy a bunch of files from bin\Iphone\Debug to Artifacts\app.iOS.dSYM where I get the final error: Could not copy the file bin\iPhone\Debug\\app.iOS.ipa because it was not found
If I go to the bin folder, there are many files, including app.iOS.exe, but indeed there is no ipa file. I also don't know why it has two \ on its path.
Any ideas why is not working?

Related

Firebase services not working in another device when app is cloned from bitbucket

I've created a Jetpack Compose app in Android Studio and I'm using Firebase services (Auth and Firestore). Everything works fine. I can access and create registers, but is a team project, so I uploaded all the project to Bitbucket, and my team cloned the repo.
When my team tried to login with the same user/password, the app keeps waiting and don't even create an error message in "Log" or "Run" window.
We already tried by adding the next line in AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
Also, we already sync build.gradle and check for versions of implementations (and that couldn't be the problem because is a cloned repo, so everything remains the same).
As a detail that I think it could be affecting this: the package name in manifest keeps the same. Is this wrong?
When run the app, this seems to be working fine, even throw this messages.
I/FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
I/FirebaseInitProvider: FirebaseApp initialization successful
And this is what I get from trying to do an auth operation
D/TrafficStats: tagSocket(98) with statsTag=0xffffffff, statsUid=-1
If you have experienced this problem, I would appreciate all the help I can get, thank you so much.
An error occurred in the transfer-and-conversion process, most likely. You wrote code, you compiled it, it ran well. Then, you transferred it to a repo, so if the transfer process was faulty (some file(s) didn't go to the repo / something underwent a partial transfer), it would break right away even if you run it on your own device by downloading from there. Now, if the transfer wasn't faulty, their conversion to an APK could be.
Debugging
To confirm where the problem lies, upload the code to the same bucket as you mention, then download the code again and compile in a fresh project. If it doesn't compile, transfer is faulty (or none of you know how to compile). If it compiles and runs as expected, their conversion/compilation is at fault and you've got nothing to worry about, except the fact that you have a team of useless drunks.
Solution
Should be obvious, if they can't make the end-product by themselves (those useless drunks), give it to them on a platter.
In Studio, go to "Build > Generate APK(s)". A confirmation dialog will have the link to the generated file once it's done. Share the apk directly with your "team" and see if it works. No need to see, it will work. Why do you have all the code if you are in a "team". Is it one of those teams where a single person does everything?

Unity deletes files itself from my asset folder on Mac OS

I've got a problem with Unity installed on Mac OS (Unity 2020.1.16f1 Personal and Mac OS Catalina 10.15.6)
It's look like Unity delete files by itself from my asset folder.
It occurs with both a Firebase (Firebase SDK 7.0.2) and PNG file.
The deletion seems to occur something like each hour (more or less)
However the problem don't happen with all my assets, for exemple with the Firebase SDK it seems that only the file FirebaseCppApp-7_0_2.bundle (and with my png file it happens only with a specific file).
Here's how I get the problem (exemple with Firebase SDK):
I import Firebase SDK I need into Unity (Import Package -> Custom Package and then choose the one I need)
Got this error: "DllNotFoundException: FirebaseCppApp-7_0_2"
Correct this error by going to Security And Confidentiality of my Mac and authorize Firebase to be open (when you download something from internet directly sometimes your Mac ask for this authorization because he don't recognize the developer)
Work perfectly for approximately 1 hour (I can make all changes I want, test my game with the game mode etc ...)
After 1 hour get the error of 2) again (on game mode)
I can fix the problem by reimport only one file from the SDK (FirebaseCppApp-7_0_2.bundle locate in Assets/Firebase/Plugins/x86_64/)
The first time I click play in Game Mode Unity crashes
Go to 3) step and continue
Is someone already get this error ? I've found multiple thread on internet talking about similar bugs (but not exactly the same) but nothing worked for me ...
I found and correct the problem. In fact the problem came from the iCloud which seems to not works correctly with Unity. For some obscur reason, the files which were deleted didn't sync with iCloud, and so when iCloud sent back the project the files were missing. You need to disable automatic sync with iCloud.
Some earlier versions of the Firebase SDK offered to add packages to the Unity Package Manager and would migrate files automatically. I would suggest using only unitypackage integration and trying to undo this migration in the process now. To see if this is the issue, do the following:
close Unity
open Packages/manifest.json and delete the entry for "ScopedRegistries" and remove any lines under "dependencies": { that start with "com.google. Note that Packages is a sibling of Assets (that is, it's next to rather than inside).
for safety, remove any Firebase packages under Assets. This include the folders:
Assets/ExternalDependencyManager, the (old) Assets/PlayServicesResolver, Assets/Firebase, Assets/Parse, Assets/Editor Default Resources/Firebase, Assets/Plugins/Android/Firebase, and Assets/Plugins/iOS/Firebase.
Download the latest Firebase Unity SDK (you can check the release notes here).
open Unity again and add each UnityPackage you need from the SDK. You can usually follow the errors in the console output if you've forgotten everything you're using.
A less likely issue you might be running into is MacOS's stricter behaviour with respect to gate keeper. There's a video here with a workaround, but since you mention the PNG files disappearing I expect that it's the External Dependency Manager.

React Native iOS unable to locate sqlite database

I am running WatermelonDB (which uses SQLite) on React Native. I am using the iOS simulator, and I am trying to locate the database file so I can query on it directly. It seems that I am able to successfully save to the database, since I can query data from within the app and it gets persisted.
Using htop, I have been able to find the running process of my application running on the simulator. However, when I cd into that directory, I see no .db file. I can even go to the root of all simulators ~/Library/Developer/CoreSimulator/Devices/ and ack for all db files, and still nothing shows up.
Next, I have tried launching the app in Xcode, as I have come across other posts that suggest checking the logs of Xcode, which is supposed to reveal the db location. Alas, this has shown me no information.
I am first interested to know how it is possible that anything at all is getting persisted, given that I cannot find a db file.
Second, should I be building my app from Xcode, or is it fine to use command line react-native run-ios? I can see that running this command uses Xcode under the hood, but I'm not sure if there are benefits to using Xcode. Nonetheless, using Xcode does not provide me with the answer I am looking for.
note: this is not a duplicate of this nor this, as I have followed all suggestions but have been unable to reach the conclusion
You can locate the watermelon.db files on your machine created by the iOS simulator by:
cd /Users/<your username>/Library/Developer/CoreSimulator/Devices
find . -name "watermelon.db"
This will show you the instances of watermelon.db files created by simulators. You can then take the output to an SQLite inspector and open /Users/<your username>/Library/Developer/CoreSimulator/Devices + {file path from find}.
If you have multiple results, then you may need to deduce which simulator is which by matching the ID to the simulator using xcrun instruments -s devices

Install claimed to have succeeded, but application could not be found on device Xcode 11

Just after switching from Xcode 10 to 11, I am unable to install my app on any device
The error at launch time after installation succeeded says :
Install claimed to have succeeded, but application could not be found on device.
Details says :
Could not locate installed application
Domain: com.apple.platform.iphoneos
Code: -1
Recovery Suggestion: Install claimed to have succeeded, but application could not be found on device. bundleId = myBundleId
--
Installed application was not present in database of installed apps after multiple lookup attempts.
Domain: com.apple.platform.iphoneos
Code: -1
However everything works fine on a simulator.
I tried to delete derived data, clean project, delete the app ..
Very strange : After submitting the app to testlfight I can download it and it works.
But when I build a new app to Xcode it launch the app just downloaded from tesflight and not the version pushed via Xcode ..
For me, it's a problem with ipatool.
Here's a way to find out details why it failed to create a proper iPhone App (.ipa) file from the build output/Xcode archive:
Go to Product > Archive, then open Window > Organizer > Distribute App.
It should show you "IPA processing failed" with a big red error symbol.
Now, open the logs and search along these lines:
timestamp Assertion failed: Expected n archs in otool output:
and
timestamp /Path/to/ Xcode-beta.app/Contents/Developer/usr/bin/ipatool exited with 1
While this can't be the final solution, try removing all problematic libraries mentioned in the logs between the two lines until ipatool exists successfully.
I also had this issue/error message. I realized that I had automatic signing deactivated and I had selected a provisioning profil with a distribution certificate.
Solution:
So if you want to run the app on your iphone directly from Xcode (not through testflight) you have to make sure you use a provisioning profil with a developer certificate.
This is probably not the case for most people facing this issue, but I faced it once several days ago and easily dealt with it by cleaning the build folder and switching to a legacy build. The second time I faced it, none of the suggested solutions seemed to be working.
I then noticed that because I'd almost run out of storage on my device, iOS had "offloaded" almost all of my apps. If there is a small cloud under your apps and the app needs to "install" again before launching, then this is the case with your phone too. Trying to launch all of the apps that I don't use regularly (so I never noticed the little clouds) "reinstalled" all of them and solved the issue entirely. Maybe this helps someone facing this for similar reasons.
I have the same problem,I modify the project setting
File --> Workspace Setting --> Build System --> Legacy Build System
it's OK for me
I also got this alert. That's because i run the app in release Build Configuration, but with a appstore Provisioning Profile . It's not allowed. So i change the appstore Provisioning Profile to a dev Profile. Then everything is ok.
Hope this can help you.
I found a way to solve this problem. After I upgraded iOS 13.1, the real machine also ran. Later, I found out that because I had archive operation the day before, the real machine running certificate changed from distribution mode to development mode and everything worked normally.
For my case (xcode 11, ios 12.4), change the Bundle identifier can solve this issue...
Before changing Bundle id, I've tried
using beta xcode
deleting app on iphone
deleting derived data
cleaning project
reopen xcode
Here's another solution. I had previously installed three other apps using XCode and got this error message when I tried to install a fourth.
I simply deleted one of my three existing apps (after hours of hair pulling and SO searching) and tried again. It worked.
Platform: iPad 2018 on v13.1 with XCode v11.1,
I was using different signing team/certificate for ...Tests target.
Setting the same for main target helped.
Update pods if you have.
pod update
just it.

Packaging Operation Failed in Xcode 4

When I use Xcode 4 to create an app IPA fie, I go to Product --> Archive to get an Xcode Archive. I recently read the SO post here detailing on how to distribute an app in the AppStore. I followed the instructions in this post and my errors still persist.
First, I begin with validation. When I click Validate I login, elect the correct code signing ID and then get the following error:
I get the same error message when I attempt to distribute to the AppStore.
Any ideas as to why I cannot share and/or distribute my app?
EDIT
Previously, I was having trouble validating and distributing and as a result I would receive this error:
I fixed this problem by finishing my CCATs / Encryption Registration in iTunes Connect.
I got the same error and found this solution (Xcode 4.4).
In Build Settings/Code Signing I had "Don't Code Sign" in my first Archive attempt.
I then put a valid Distribution Certificate (in the Release identity) and, after Archiving, validation of package went flawless.
Thanks to Apple that at every release does something (undocumented) different from the previous version.
Cheers.
Couple months late, but in case someone else encounters this problem and finds this question (as I did) and none of the other suggestions work for you. After reading the other answers, there seem to be multiple causes for this error.
In my case, it was because my project's scheme had its Archive build configuration set to Release, instead of Distribution. After changing this to Distribution, I was able to submit the app without issues.
Hope this helps someone else.
I had similar situation and standard solutions like removing files with prefix _. and certificate experimenting did not lead into success.
Build distribution of English version worked, but localised to Croatian did not. So I used heavy weapon. I installed Croatian keyboard layout. And guess what? Since that moment all worked out!
So maybe there was something else in the place, but I would suggest you at least to check if this matches your situation.
Possible error with your certificate/provisioning profiles. Here is a short summary of my certificate quest with Xcode 4.3:
Make certain (in developer.apple.com) that you have created a distribution certificate
Make certain your application id in Xcode matches perfectly the one in developer.apple.com
Create your app in itunesconnect.apple.com
Load the distribution certificate in your keyChain create a distribution provisioning profile for your app (make certain you add all devices when creating the provisioning profile)
Drag the provisioning profile in Xcode organizer, LIBRARY section, Provisioning Profiles.
Make your archive.
In Xcode organizer, validate your app, then distribute it for ad-hoc.
Eventually (if you are patient) Xcode will offer to save the IPA somewhere. Save it, place the IPA in a place where your testers can download it.
After download, the tester can drag the IPA in iTunes (LIBRARY), and eventually sync up the device (if and only if their device UDID was checked when you created/modified the provisioning profile).
more or less. Best of luck.
ps. there is a free app in AppStore , Get UDID. Ask your testers to use that and email you the devices specifics, will save you tons of frustrations with the 40'ish characters long device ID.
It happnes to me when I've try distribute app from Xcode DEVELOPER PREVIEW.
From actual version of XCode - everything works fine.
I was also seeing this inexplicable error, and tried all of the suggestions here with no success. I finally went and deleted my local certificates and provisioning profiles and downloaded them again from Apple's provisioning website. After making sure the code signing options were set correctly in my build settings, I cleaned the project and archived again and this time the error disappeared when I ran the validation step.
Check if the code signing entries are correct (containing the distribution profile) for both the project and the target. It is possible to archive the project even if only the project settings are correct.
To me the answer came after trying to validate my app after unsuccessfully submitting it to the MacAppStore. I thought that by validating it, I should get a more detailed error message, instead ot this "Packaging operation error". And here it comes:
And that was because I had to revoke my certificates (as for why I had to revoke them, don't ask, I don't know, it happens in one every 2 submissions...). And I had recreated only the Mac Submission certificate. Actually, you also need the Installer one. It waqs late, I thought do I really need this?... Hence I finally made twice the little dance in Keychain.app -> Request Certificate from a Certificate Authority... etc, uploading to itunesconnect, and downloading them back. After that, it worked.

Resources