Fabric plugin won't start in Xcode iOS swift app - crashlytics

I have taken over an iOS swift app for my company and opened it in Xcode. Fabric and Crashlytics are installed by cocoa pods. The Fabric framework is listed under Pods and I have installed and configure Crashlytics in accordance with these instructions and the run script has been added to the project target.
https://fabric.io/kits/ios/crashlytics/install
The API has been entered into into info.plist.
I can build and run the project and simulator opens and shows me the project.
Then I tried to follow the instructions below to distribute the project for testing. The first instruction is "make sure the Fabric plugin is running" but I have no idea how to do that. Next I build the archive successfully with Project -> Archive and an archive manager pops up but not Fabric popup. I have tried restarting my mac and Xcode but to no avail. There is nothing in the menu bar, etc to indicate that Fabric exists beyond the files in the project navigator.
https://docs.fabric.io/apple/beta/beta-walkthrough.html

Mike from Fabric here and our Beta walkthrough is a little confusing if you're using Cocoapods only, so my apologies there.
If you're using the Cocoapods only version of Fabric, then you can use the /submit command to upload distributions via Beta. Full documentation is here, but there are two options:
1) Add an Archive Post run script action:
"${PODS_ROOT}/Fabric/submit" <API_KEY> <BUILD_SECRET> \
-emails TestEmail#fabric.io,AmazingTester#twitter.com \
-notesPath ~/Notes/ReleaseNotes.txt \
-groupAliases GroupAlias,GroupAlias2 \
-notifications YES
To add an Archive Post run script, head to Product -> Scheme -> Edit Scheme. Then expand the Archive option, click on "Post-actions", then click on the + sign in the lower-left corner and "New Run Script Action". You can then add the script :)
2) Run the submit command after the .IPA has been created:
${PODS_ROOT}/Fabric/submit <API_KEY> <BUILD_SECRET> \
-ipaPath /path/to/my.ipa -emails TestEmail#fabric.io,AmazingTester#twitter.com \
-notesPath ~/Notes/ReleaseNotes.txt \
-groupAliases GroupAlias,GroupAlias2 \
-notifications YES
Alternatively, you can download Fabric.app from here and follow the rest of the instructions on the Beta walkthrough.

Related

Impossible to update expo project inside Expo Go after switching to EAS Build

I have the need to run a project from Expo Go without being connected to PC. We are developing an app that require GPS and needs to be tested in open field.
Before EAS became the standard to create projects i used
expo build:android
ad this created not only the apk, but uploaded the project to my account and i was able to start it from Expo Go projects section just like the app was installed on phisical device. That worked also fo iOS and was a great testing feature.
After i moved to EAS Build
eas build -p android --profile preview --clear-cache
my project inside Expo Go does not update anymore and its stucked at sdk 44 even if now i'm working (and creating builds) with sdk 46.
I went through the official documentation many times but i don't get how to make the app start from Expo Go (project sction) as i did before. Maybe i'm missing some configuration.
Thank you all for any kind reply.
Have a good day.
EDIT
I found the solution to this problem and now my builds are working and uploading to Expo Go.
Check out this information: https://github.com/expo/fyi/blob/main/eas-build-archive.md
Basically EAS Updates will not bundle anything inside your .gitignore, in my case it needed specific config files. Did a quick test by taking them off the .gitignore and now it's working. Will move to GitHub SECRETS in the future.
Hope that helps.

How to publish Appcelerator app to google playstore / Apple store?

Helo Everyone.
I'm newbie in Appcelerator Titanium and mobile apps development as well, and trying to know on how to publish or distribute my appcelerator apps to google playstore / apple store?
thank you.
Once you create a distribution build you can look up the normal App Store/Play Store documentation on how to publish your app inside the store.
The only think in Titanum you have to do is to create those builds (IPA, APK). You can have a look here
https://wiki.appcelerator.org/display/guides2/Distributing+Android+apps
https://wiki.appcelerator.org/display/guides2/Distributing+iOS+apps
or use the packages for Atom/VS Code
https://marketplace.visualstudio.com/items?itemName=axway.vscode-titanium
https://atom.io/packages/appcelerator-titanium
where you can use the GUI to create those builds.
To create your certificates I recommend looking at the official documentation:
https://developer.android.com/studio/publish/app-signing
https://developer.apple.com/documentation/appstoreconnectapi/creating_api_keys_for_app_store_connect_api
Once you have those keys you can select them in Atom/Vscode and click the distribution buttons.
Of course you can also use the CLI:
https://github.com/m1ga/from_zero_to_app/blob/master/installation.md#the-cli-way
# android to store/file
appc ti build -p android -K /home/user/keyfile.keystore -T dist-playstore
# iOS ipa/device/store: will show you a menu to select the different profiles
appc ti build -p ios --target ?

Expo detached app, generate iOS simulator build for Facebook App Review

How can I set publishedURL for developmentURL in “EXBuildConstants.plist” as localhost URL will not work with facebbok app review process?
I am building Expo detached app but I need to generate simulator build for Facebook App review.
Everytime “EXBuildConstants.plist” is updating automatically so my simulator build is not working without running Expo.
It's answered on Expo forum
Change in xcode, go to Product-> Scheme->edit Scheme and change build configuration to Release.
Non-Ejected Method
If you'd like to avoid ejecting an Expo "managed" project, you can follow these directions in order to generate the Simulator build (*.app).
The steps from the link are as follows:
Build your expo project with the simulator flag by running expo build:ios -t simulator.
Download the tarball with the link given upon completion when running expo build:status.
Unpack the tar.gz by running tar -xvzf your-app.tar.gz. This will generate the Simulator build file.
Please note the link for the compressed file will be the last thing logged to your terminal when building your app.
After that, you would just zip the simulator build as mention here:
The steps for zipping the build file are as follows:
Run ditto -ck --sequesterRsrc --keepParent `ls -1 -d -t src/*.app | head -n 1` destination/build.zip, where src/*.app is the path the the simulator build file, and destination/build.zip is the destination.

Deploy app onto a real device and get rid of local-dev-server dependence

Appreciate your lecture.
Currently, I can successfully deploy the app onto my iPhone device.
However, the app is rely on local-dev-server.
How could I get rid of the local-dev-server?
I used this command to deploy the app react-native run-ios --device 'iPhone' onto my cellphone
Here's my repo
https://github.com/poc7667/reacti-native-album
Here is a section from RN docs:
Building an app for distribution in the App Store requires using the Release scheme in Xcode. Apps built for Release will automatically disable the in-app Developer menu, which will prevent your users from inadvertently accessing the menu in production. It will also bundle the JavaScript locally, so you can put the app on a device and test whilst not connected to the computer.
To configure your app to be built using the Release scheme, go to Product → Scheme → Edit Scheme. Select the Run tab in the sidebar, then set the Build Configuration dropdown to Release.
you just need to select the Release scheme on the run configuration in xCode and hit the run button.

How to Allow quick development in Appcelerator Studio?

How do I re-enable the below behavior?
I USED to have the below behavior...now I don't. I have to re-compile the whole project for every change which is killing productivity for me.
I cut and pasted the below text from another question as it explains it much better than I can....
For an iphone simulator build, the .js files are run directly by the simulator without going through the compile step needed for a distribution build. While this saves some time by itself, the real advantage is that the simulator will dynamically use whatever changes you make to a .js file when you navigate to a window using an external .js reference (i.e. the url property). So changes to app.js still need to relaunch the project. But for windows opened later, you can navigate to the window to see how it looks or test code, then just hit the back button in the navigation bar, tweak the .js, and navigate back to the desired window and immediately see the new layout or test the code changes.
This makes tweaking UI layout stuff incredibly fast compared to the android emulator, not to mention code/debug cycles for some *.js logic is as quick as backing up a screen, revising the code, and showing the screen again. Then when you get the logic worked out, switch to android and retest.
If you have Appcelerator Studio (not Titanium Studio) you can enable LiveView, which attaches a filesystem service to your project and pipes file changes at runtime, bypassing the build process. (aka hotloader, etc)
A) Turn on in Studio
B) Use the command line:
ti build -p ios —-liveview
Be sure you have the latest updates from Appcelerator to ensure parity with target compilers.
$ sudo npm install -g appcelerator
$ appc use latest
$ appc setup
If you don't have Appcelerator Studio, you could try third party solutions such as TiShadow:
$ sudo npm install -g tishadow
$ ti build -p ios --shadow
$ tishadow server
$ tishadow # run --shadow
The quickest development feature you can use is LiveView. In Appcelerator Studio, before you run the project you have a little eye icon in the toolbar to enable live view. Then Every change you save to your project will automatically refresh the emulator/device on which you are running.
You can also have a look at a project called TiShadow which basically does the same and is not related to the Studio.