CSSMERR_TP_NOT_TRUSTED error with Good Dynamics App Wrapping - ios

I'm trying to use Good Dynamics App Wrapping to secure my application. When I submit my app directly to the wrapping server (rather than through the Good service console), I get an error with a root cause of CSSMERR_TP_NOT_TRUSTED. Any ideas for a fix?

The Mac with the Good Dynamics Wrapping Server installed on it needs Xcode installed. Unfortunately, the wrapping server documentation doesn't mention that you need to start Xcode once to complete the installation procedure. I also installed command-line tools, and created and ran a test app to enable developer mode. After doing this, app wrapping seemed to work.

Related

AspNetZero V8.0 - Debugger ends immediately

I just started coding with AspNetZero V8.0 solution. I purchased this version a couple of years ago. I had kept the raw downloaded solution in a GIT Repo without any changes.
Recently I downloaded the code for use in my project. All I have done so far is setup connection string, setup a tenant and logged into a tenant. After I got all that working I started development for my first domain class "Country". I have setup the domain classes, interfaces, application service and EF migration. All of this worked without any issues.
Now I have setup app service for Country domain and I am trying to test it from chrome console, as per the AspNetZero docs here. When I test the service I'm getting an error in the console and an error is getting logged in the AuditLogs table too. So in order to identify my issue with app service, I decided to debug the code. This is where my problem exists.
I am able to start the debugger. I see the chrome browser window open up, I see VS2019 (v16.8.4) switch to debug layout. After about 30+ seconds the browser closes and VS2019 returns to normal mode, not in debug, layout. I do not get any errors logged in chrome console, windows event log or in VS2019 output.
I have read many threads on SO about similar issues and tried many different VS2019 option changes, nothing seems to make a difference.
I tried a couple of other solutions, AspNetZero and other .NET Core, in VS2019 and I am able to debug them normally.
Has anyone else run into similar issue with AspNetZero solution or any other type of solution?
This is because they run the YOURCOMPANY.Web.Host as .exe OutputType.
To run and debug the project, open CMD on the YOURCOMPANY.Web.Host location then execute dotnet run
After that:
Attach to a running process on your local machine
In Visual Studio, select Debug > Attach to Process (or press
Ctrl+Alt+P) to open the Attach to Process dialog box.
Check the Connection type.
In most scenarios, you can use Default. Some scenarios may require a different connection type. For more info, see other sections in this article or Common debugging scenarios.
Set the Connection target your local machine name.
Finally, attach.
For more information:
Attach to running processes with the Visual Studio debugger

Sending phone call without TAPI installed?

I am developing an auto-dialer application to send out mass phone calls to a list of clients from a database. I am using Dialogic's Diva SDK 5.5 WIN API to develop this application. I believe my code is running correctly and I can have the application begin the process of sending a call out, however the issue is that it stops working and just returns "Dialing" as the progress status. The call fails to do anything other than this and I have now been troubleshooting it for quite a while and found return code from one of the error tests that reports there is no TAPI installed on my computer.
Is TAPI required to be able to send phone calls successfully from any computer or is it likely the issue is just an error in my code? I am using the Dialogic Diva UM-Analog-4 media board and I believe I have all of the cables hooked up correctly to it. I cannot find anything that helps answer this question in the Dialogic manuals, any help or insight into this issue is greatly appreciated.
Which of the many APIs are you using? What version of Windows? You mentioned the 5.5 SDK, but is it the Diva API, Diva Component API, Diva API for .NET, etc.? What is your development environment? Do you call "DivaInitialize" as your first command or something else like LineInitializeEX? As of Dec 2015, Dialogic stopped supporting TAPI on their Diva boards (though it still works), so calls to one of their direct APIs should not require TAPI. However using these older 5.5 drivers, especially if you are using the COM controls, it may sit on top of TAPI. You may want to check the follwing:
run services.msc from a command prompt and make sure the "Telephony" service is running. It should be set to "automatic" if you are going to use TAPI
Check that the TSP is installed for your Dialogic card. You should have seen something related to TAPI during the install. The file "divasp.tsp" should be in your system32 folder
Make sure you ran and saved the settings in the Dialogic Configuration Manager for lines, boards, and especially "services" so it connects the correct API for you to use.

Two way communication in JIRA Mobile Connect for ios crashes the app due to sqlite locking

I am using the latest tag named "tip" and I am using JIRA on demand.
I just incorporated JIRA mobile connect into my ios app and it is behaving a bit oddly i.e. it is going into an infinite loop and hangs my app.
After turning the debug mode on and digging a bit deeper, I find the source of this problem is that the sqlite database table is locked.
The sequence of events is like follows:-
I launched my app for the first time
I created an issue successfully using JIRA mobile connect
I shut down my app
I updated the issue by adding comments in JIRA online via the web interface (to simulate a 2 way communication scenario)
I re-started my ios app
JMC gets the updates from JIRA rest api using https://xxxx.atlassian.net/rest/jconnect/1.0/issue/updates?sinceMillis=1408380024967&uuid=9371F70F-12CD-47EC-AB3E-4B0398FF453E&apikey=YYY&project=AAA- and it is able to find the updates that I had made in step 4
Since it finds changes, JMCIssueStore.m calls updateWithData method which has logic in it i.e.[self createSchema:YES] which attempts to drop the existing 2 tables and recreate the schema.
On the 1st table drop attempt i.e.[db executeUpdate:#"DROP table if exists ISSUE"],
the database table is found to be locked and JMC goes in an infinite loop retrying to execute this statement.
I am unable to find any answers for this on the Atlassian Q&A portal or otherwise on the web and I find it surprising as surely other people using this should be having the same issue or I have done something obviously wrong in trying to integrate it.
Has anyone encountered this or something similar? As this is one of the key features for which I am using JIRA Mobile Connect, i really need to figure out if it is worth debugging Jira mobile connect for this or just giving up and doing it from scratch.
The whole issue stemmed from a documentation error in the integration process of JIRA Mobile Connect specifically step 9 here where they asked to exclude all the JMC files from using ARC - which I had done. This is the root cause of the problem.
After going through the Angry Nerds Sample files and comparing it with my own, I realised they were exactly the same and still the Angry Nerds sample worked and mine didnt.
I retraced all my integration steps and on reaching step 9, it struck me that when I was going through the code, there were no sign of any manual release statements - which was odd if the code was indeed not using ARC.
I removed all my -fno-objc-arc flags from all the JMC files. And hey presto! the crashing issue isnt there anymore.

Command line access to iOS app directory (sandbox) from Mac

I need to access the sandbox directory for an application installed on an iOS device, using the command line (non-gui) from a Mac or Linux. This is to help with development and testing automation. Dropping a json file into the sandbox lets me set parameters like extra debug messages and smaller refresh intervals.
A tool like iFunBox works perfectly but is graphical only, requiring numerous clicks to do this. Emails to the developers were unanswered. It also does not support AppleScript. I did find another app that provided a Fuse module, but it turned out buggy especially if the app was uninstalled and then reinstalled (in order to reset back to first time user experience). I reported the problems to the developer but there is no fix on the horizon.
The things I need to do are:
Test if an app with a specific bundle id is installed
Create Library/Caches/MYLIBNAME directory if it doesn't exist
Copy a ~100 byte json file from the Mac to that directory
Get a copy of that file
A solution that only works from Linux is acceptable too
Devices are not jailbroken and I would prefer not to need that as a requirement
In some cases I do not have the source code to the app since it is a third party using my library, so compiling different versions of the app isn't practical.
Answer is below in many comments thanks to lxt. Summary is:
Various libraries and programs associated with libimobiledevice can solve the problems
Use patched iFuse to mount an application sandbox
Use idevicesyslog to see the console log
Use ideviceinstaller to install/uninstall apps
The various libraries and programs associated with libimobiledevice are incredibly difficult if not impossible to compile as is on Linux or Mac, and there is no unified distribution of the source or binaries
For Ubuntu try libimobiledevice (may have 3 suffix), ideviceinstaller and libimobiledevice-utils packages
For Mac a search for libimobiledevice-macosx may get you some of the way there
This is going to be a little tricky, because as I think you've found out the application name is randomly generated on every install. I don't think there is a way past that, certainly that I know of. This explains the problems you're running into when simulating a new install (...the app directory name changes to a new, random hash, and then you're stuck).
Although my preference would be to access this config file in some other way (perhaps over a network, and have some code that only executes on debug/test builds check for it), if you did want to do this then I'd suggest trying something like writing a script that when you want to simulate a new install chooses the app directory that's most recently modified. But this is very hacky.
If you're not able to insert conditional code that only executes on debug/ test builds then I think the random app naming schema that iOS uses at a file system level is going to be problematic for you whatever approach you take.
Update: Regarding iFuse and libimobiledevice - out of the box it limits you to the documents directory. This is because the authors of iFuse don't entry-level users to be confused, and also because the structure is a little different depending on iOS version. You can comment out the lines in the iFuse source - fuse_opt_add_arg(&args, "-osubdir=Documents"); - to get access to the library directory through the mount. You will obviously need to re-compile iFuse yourself if doing this.
You can make use of MobileDevice Library
I know this is an old question and I doubt anyone is looking here anymore, but I thought I'd mention that you can use 'brew install libimobiledevice' to compile on the mac. There are a lot of dependencies and Homebrew really helps make it an easy process by installing them for you.

Node.JS Development on iOS?

I'm wondering if there is any chance to run Node.JS on iOS to develop as on desktop? I definitely realize I must have jailbroken iPad to install node or mongodb. The only I've found is good code editor Diet Coda with FTP/SSH support, but no more. How can I get node in "real" terminal on iPad, launching my .js files on certain port etc?
P.s. I'm not big fan of cloud9 'cause it's requires Internet connection and at this time supports only node 0.6
Found a so-so solution: connect to my server via ssh and develop my app in console. But it requires internet connection, that's not good.
A quick search reveals NodeJS on iOS.
The long story short is that I got NodeJS compiled on my jailbroken iPhone 4! It was a long quest to get it working properly but I've done the hard work and compiled a .deb file compatible with Cydia for your installing pleasure...
It's a year and a half old, so the article might be a little out of date, but it's definitely a good starting point. See also how to set up gcc if you need to do that on your iOS device.
Aside: If you're a rooted Android developer, you may be interested in anode.
I am working on an implementation of Node.js on non-jailbroken iOS devices.
http://www.youtube.com/watch?v=xzFH80-HYTo
It is not ready for a public consumption yet, but I am making a good progress and have a plan to open-source it soon.
You can use node.js on iOS without jailbreaking, and without violating any Apple
terms of service. LiquidCore is an open source project that enables node.js on both Android and iOS for deploying micro applications. iOS support is now available from version 0.5.0.
CodeSandbox for iOS works amazingly well, though it's not a console interface.
CodeSandbox for iOS offers a full-fledged development environment with all the tools you need to develop projects of any size. Create a sandbox to quickly prototype your ideas or work on a large codebase with CodeSandbox Projects: whatever your needs are we have you covered.
I've wondered how much work I could get in something like the IconFactory's WorldWideWeb. That company has been around a while, and WWW makes it easy to do work in a browser-hosted environment.
So CodeSandbox almost answers your question, and, if it disappears at some point, WorldWideWeb might be a fallback in a pinch.

Resources