How to unzip/extract 7z compressed files in ios - iphone

I need to unzip/extract 7z compressed files in ios, Can anyone say the libraries used to do this,where are those libraries available to download.I there any sample project to do this ,let me know

7-Zip Lzma SDK - is a multi-language SDK for handling 7-zip files. Mo Dejong has created an example demonstrating how to use the LZMA SDK to decompress 7-zip libraries on iOS devices. You can find the example on his website here.

iOS9 comes with LZMA support (encoder until level 6, decoder all levels). Of course this only helps if you just need the compression – if you absolutely need to read the 7z archive / container format you'll need an external library.
https://developer.apple.com/library/prerelease/ios/documentation/Performance/Reference/Compression/index.html

Related

How to run a .mexw64 file on Mac?

I've downloaded a file (ListFunc.mexw64) containing some functions I'd like to use in my algorithm. I am using Mac OS but, it seems incompatible with OS as well as the MATLAB software itself.
Is there a way to get it to work or to see the content of the file?
A mexw64 file is compiled for Win64 systems, the equivalent extension for macOS is mexmaci64 - this file simply wasn't meant to be used on a macOS.
You should try to contact the authors of the file and ask them to recompile it for Mac, or ask for the source code and compile it yourself, according to these instructions.

PNG Support for Emacs

I was trying to add PNG support to my Emacs installation to display png files. Though I found the following and some other links online, I'm still not able to view png files.
Emacs under Windows and PNG files
I have copied libpng and zlib1 dll files in my emacs/bin directory and have made sure that they are not outdated but the
(image-type-available-p 'png)
returns nil. I would like to know if I'm missing something.
I am using Emacs 24.4 on Windows 8.1 64-bit.
Any help is appreciated. Thanks.
From https://ftp.gnu.org/gnu/emacs/windows/
Emacs can also support some other image formats with appropriate libraries. These libraries are all available on the following sites:
http://sourceforge.net/projects/ezwinports/files/
-- leaner, more up-to-date builds, only for 32-bit Emacs
http://www.gtk.org/download/win32.php
http://www.gtk.org/download/win64.php
-- the GTK project site; offers much fatter builds, but includes
64-bit DLLs (from the 2nd URL)

retrieve app's author - jailbreak iOS 6

How can I retrieve an app's author (or developer or publisher, etc) on a jailbroken iOS 6.x device? In iOS 4.x and 5.x, there was an author member in the SBApplication class. But in iOS 6.1 I now get an NSUnknownKeyException when requesting the author. A quick look at SBApplication.h from a iOS 6 class dump online didn't show anything promising (except signerIdentity, but that's something else). Is there any easy way to get this, without digging around in any Info.plist files?
Update: The Info.plist files actually don't contain this information either. The iTunesMetadata.plist file on the other hand does, but System/Cydia apps don't have this file.
I haven't yet jailbroken my iOS 6 device or run class-dump on all the iOS 6 frameworks, so I can't tell you if there's another private API to do exactly what you used to be able to do.
Your suggestion about inspecting the contents of app folders (e.g. /var/mobile/Applications/*/*.app/) and reading the iTunesMetadata.plist files sounds reasonable. Reading each app's Info.plist would also give you the CFBundleIdentifier, which would normally at least contain the publisher's domain name (e.g. com.mycompany.MyAppName).
For apps that don't come from the app store (and don't have iTunesMetadata.plist), you could try another technique (in addition to reading Info.plist):
Cydia packages are maintained with dpkg utilities. You can list all installed packages with the command dpkg -l. You can invoke this command either with
system("dpkg -l >> /tmp/output.log 2>&1");
piping the output into a temporary file, or with NSTask. NSTask is part of OS X APIs, and is not in the iOS public APIs. But, if you add the NSTask.h header to your project yourself, you can certainly use it as a private API in a non-App Store app, to run a command and capture output programmatically.
At the command line, running dpkg -l would give you:
ii libhide 2.1 Library to hide icons. If you are a developer wanting to use this library, code samples included in /usr/lib
ii libxml2-lib 2.6.32-3 represents the library for libxml2
ii lsof 33-4 shows what files programs have open
ii lzma 4.32.7-4 slower, but better, compression algorithm
ii make 3.81-2 dependency-based build environments
ii mobilesubstrate 0.9.3999.1 powerful code insertion platform
ri ncurses 5.7-12 feature-complete terminal library
ii network-cmds 307.0.1-6 arp, ifconfig, netstat, route, traceroute
so, your app could parse that output, to read package names from the second column.
Then, you could use the apt-cache show command to get the information from the package's DEBIAN/control file, which would have something like this:
iPhone-3G:~ root# apt-cache show sqlite3
Package: sqlite3
Version: 3.5.9-12
Architecture: iphoneos-arm
Maintainer: Jay Freeman (saurik) <saurik at saurik dot com>
Installed-Size: 348
Pre-Depends: dpkg (>= 1.14.25-8)
Depends: sqlite3-lib
Replaces: sqlite3 (<= 3.5.9-11)
Filename: debs/sqlite3_3.5.9-12_iphoneos-arm.deb
Size: 71928
MD5sum: 6d47c112692ac00af61bd84e3847aa42
Section: Data_Storage
Priority: standard
Description: embedded database used by iPhoneOS
Name: SQLite 3.x
Tag: purpose::library, role::developer
I know this is more work than just using author from SBApplication, but maybe it's good enough? Hopefully, some one else will chime in with another answer ...

building MATLAB jpeg toolbox with libjpeg8d

This question is related to another question I asked here:
Error reading image using jpeg_read from Matlab's jpeg toolbox
I've been trying to compile the jpeg toolbox under Windows 7 (using the commands Shai provided in the answer to the question I posted), but I get the following error:
jpeg_read.c(52) : fatal error C1083: Cannot open include file: 'jerror.h': No such file or directory
which I believe happened because I haven't built libjpeg. I tried to build libjpeg6b like jpegtoolbox's README says, but I couldn't find a clear guide on how to do it on Windows with visual studio 2010 (and libjpeg's install document doesn't help much), so I ended building libjpeg8d.
My question is if there's any way to use libjpeg8d to compile the jpeg toolbox. I've tried running the command:
mex -I<IJGPATH> jpeg_read.c <LIBJPEG>
with IJGPATH being my libjpeg8d installation folder and LIBJPEG being the path to the jpeg.lib file, inside IJGPATH/Release, but I still get the same missing jerror.h error as before.
Thanks in advance.
Jpeg toolbox contains Matlab routines for manipulating JPEG files. While Matlab's built-in IMREAD and IMWRITE functions provide basic conversion between JPEG files and image arrays, they do not provide access to the details of the JPEG image, such as the JPEG coefficients or the quantization tables.
The routines in this package provide additional functionality for directly accessing the contents of JPEG files from Matlab, including the Discrete Cosine Transform (DCT) coefficients, quantization tables, Huffman coding tables, color space information, and comment markers. The toolbox can be added to Matlab to use the functions.
First check whether the following are installed in your system.
1.Microsoft windows sdk7
2.Microsoft visual c++ 2010 express
if they are not installed, Download and install them in the order specified.
Note: Before installing windows sdk, uninstall any redistributalbe packages of visual c++ 2010. Else windows sdk produces problem during installation and the install fails. During installation dont forget to check the 'x64 Libraries' for 64bit OS and 'x86 Libraries' for 32bit OS, under Windows Headers and Libraries. This allows to use compiler tools for 64 bit operating systems. Once it overs, install visual c++. These tools are free and available at microsoft website. Both online and offline installers are available.
Now comes the real integration process
Step 1: Download the jpeg toolbox and extract it to a separate folder (eg. jpeg)
Download jpeg toolbox
Step 2: Download jpeg source files and extract it to a separate folder (eg.jpegsrc). In the folder jpeg-6b which is in jpegsrc, rename jconfig.vc to jconfig.h and makefile.vc to makefile
Download jpegsrc file
Step 3: From start->All programs-> Microsoft windows sdk , open the command prompt. This opens the 'windows x64 debug environment'. Navigate to the jpeg-6b folder which is inside the jpegsrc folder which is extracted at step 2. Run the command 'nmake clean all' without quotes. This creates the libjpeg.lib file in the same folder.
Step 4: Now open the matlab and choose the workfolder as jpeg, created in step 1.
Now in the command windows run the following commands,
mex -I jpeg_read.c
mex -I jpeg_write.c
Replace with the path to the IJG jpeg-6b directory created in step 2, and
with the full path to the IJG code library file (libjpeg.lib).
To use the jpeg_read and jpeg_write functions copy jpeg_read.mexw64 and jpeg_write.mexw64 files created above to your work directory. Dont uninstall visual c++ compiler or it wont work.
If you are trying to work in Windows, you need to rename jerror.vc to jerror.h
Also, when you mex the files, you need to edit the jpeg_read.c and jpeg_write.c from include to include "jerror.h"

TiMidity: need help compiling this library for the iPhone

I'm using a powerful library called TiMidity, which I'm sure many iPhone developers have used already used. This is a platform-independent set of programs, but during compile-time in XCode (gcc compiler), there are hundreds of dependency errors that come up.
If anyone here has used TiMidity before for their apps, your advice will be gold.
Thanks everyone,
Phil.
I usually use this script to compile static libraries for the iPhone, but TiMidity++ isn't a library and the API's it uses to output sound on OS X aren't available on the iPhone OS.
Here's what I've gotten so far:
Save build_for_iphoneos somewhere in your path and +x it
cd to the extractd TiMidity++ folder
build_for_iphoneos simulator
This will fail
Copy timidity/newton_tables.c somewhere safe.
make clean
build_for_iphoneos device
Manually edit timidity/makefile and remove all references to DAU_DARWIN and darwin_a
Copy newton_tables.c back into the timidity subfolder and touch it
make
You should now have a timidity binary that can be used from the shell on a jailbroken device (after signed via ldid of course) and object files you can include in your project.
Note: TiMidity++ is GPL, so you will have to release your application under that license if you use any part of it. Also, this is really messy because TiMidity++ wasn't designed to be used this way, all of the darwin integration is broken on iPhone OS, and automake confuses me.
You have to remove AU_DARWIN from ./Makefile as well as timidity/Makefile.