How to build an app for Cydia store? - iphone

I have built an app for Apple's App Store, now I want to submit the app to the Cydia store. How can I do this? Should I just post the app.zip file built for the App Store to the Cydia store?

There are a few differences compiling your app for Cydia vs the App Store. Big Boss does a good job explaining the difference in his post:
How to Compile for Cydia Submission

You should check out iOSOpenDev. It incorporates a lot of Cydia tweaks, Theos, Activator and all kinds of other things into Xcode. It allows you to create a new (Cydia) tweak of your choice and you can even launch that tweak on your device from Xcode.
To submit an "App Store" app, you would need to make sure you adjust the user directories. Since you will install the app into /Applications, there will be no sandbox; no Documents directory dedicated to just your application.
You will also need to sign your app with ldid. This "fake" code-signs your application so it can run in iOS. To submit the app to Cydia, you would need to find a repo you are comfortable with hosting the app, like BigBoss.
Be careful though, submitting an App Store app to Cydia could potentially get your app thrown out of the App Store and your developer account revoked.

In terms of building an actual full application, I believe the development process is the same but the compiling and preperation of the binary is different. The provided link is a good resource
If you intend to make a tweak which hooks into existing Apple classes and methods then you need something like theos by DHowett, a good basic tutorial is here

u need to create a repo. or send them to MMi's collection
to make a repo read Saurik's Guide: Here
Or read the easier guide that MYI made for us at: Here
to submit a package to the MMI repo,
try the Developer Portal:
http://modmyi.com/mmi/
Some info regarding paid packages:
http://modmyi.com/cydia/cydiastorefaq/
Basically, all the content in your theme must be your own original work.
All the graphics / sounds must be created and owned by you.
If you have further questions, drop a note to the admins:
http://modmyi.com/sendmessage.php

Well first of al if your app.zip is the .app file found in the payload folder of a .ipa file, then disregard this next step. Anyway, open up app.zip, go to payload, and then take out app.app. Make the app.app app.zip. Now go to http://www.myrepospace.com/iDeb and upload your app.zip. Then when it's done, download your new .deb file.

Despite of the title you seem to ask about submission rather than (or in addition to) building. I'd consider this the one best reference:
http://cydia.saurik.com/faq/repositories.html
It is from Cydia itself and includes sschunara's links and other BigBoss references plus more.

Related

How to sign app for AppStore in my customer's name

If I'm developing an iPhone app for CompanyX and when we want to put it on the App Store using CompanyX's signature, and if they dont have the source code, can they do it themselves?
Or do I have to do it with their signature, since I have the source code and then submit it to the App Store?
We have settled on a process where "CompanyX" gives us an account to their iTunes connect so we can build, sign and upload to the App Store in their name.
Probably you can build it on your machine, send them the product and they sign and upload it themselves, however that would be more tedious, as Apple's toolchain with Xcode and the Organizer has become quite good at this for the "usual" case of someone uploading their "own" apps.
AFAIK you have to sign the source code with the key you get from Apple to submit it.

Legality of transferring IPA files between people

We are currently developing an app for a client in the US, we are based in the UK. We need to "proof" the app as we make changes with our client i.e. get them to check the updates before we go any further.
The issue we're having is that transferring an IPA file to our client has been advised by their legal team as illegal. Is there any other way (simply) to allow our client to view this app regularly as we update it?
Cheers
IANAL, however, their legal team is wrong. When I click Build and Archive, and then Share by Email, the generated email file contains an ipa. This is an Apple-sanctioned method of doing ad-hoc sharing of iPhone apps.
What is probably confusing them is that if you're pirating apps, you use ipa files as well. However, saying that sharing ipa files is illegal is like saying sharing .exe files is illegal. Sometimes, yes. In this case: no, so long as the devices that are running it have been properly provisioned.

How to automatically update an iPhone app from within the app itself?

This link shows a video where an app upgrade is "forced" from within the app itself:
http://buzzworks.de/blog/update-ios-beta-apps-from-within-the-app
The App Store is not called in and it's said to work only for AdHoc
apps.
Anyone knows how is this possible?
edit: please give a look to the video before answering. AdHoc apps are signed by the developer and they do not come from the App Store. This sort of forced update is useful when doing beta testing and in enterprise applications.
I've found that it's all explained here:
http://developer.apple.com/iphone/library/featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
The developer should create an .ipa with the app and a manifest in plist format with the URL to the .ipa and a few other things.
The app can optionally implement its own way to find if an update is available and open
the URL to the manifest.
I didn't it's really possible because the app has to somehow sign itself. The best I can think of right now is that the app is not signed?
You can always force people to go to the app store when a new version is out. Simply make the app connect to a webservice first. Other solutions are not accepted by Apple, or will quite simply not work because of other issues (signing is one of many).
You could also design your app in such a way that forced updates are never a requirement. You can load your user interfaces from the web (Apple has presented some valuable information about that during the previous WWDC), your data can come from the web, and if there is any other correction to do just ensure your app is backwards compatible.
That's how the app store works. And it never requires a 'forced update' ... Well, almost never ;-)

iPhone: Application submission in AppStore

I want to submit my application in AppStore. After i have gone through the docs there, i see i should go to iTunes Connect and fill the form to submit my application in AppStore. If someone already did it, can you guys please share your suggestion?
I did build 'Distribution' in my Xcode project and compressed my app ready, i want to upload it in AppStore as i have already a developer account.
** I also want to know, should my build be created using 'Distribution' configuration and built with Distribution provisional file? I have three provisional file created such as Main provisioning profile in 'Provisioning->Development' tab in Portal and Ad-hoc, AppStore provisional profiles in 'Distribution' tab in Portal. Which one i should use in Xcode and build my application to upload that in AppStore? Can i use any one of the three?
**Can i go to iTunes Connect and fill the form to upload my app? During filling the form it asks for 'Does your product contain encryption?' Why is that and what does it mean? After further filling up the details, will it ask me to upload my Zipped application(myApp.app file) there? How would be the process further, just give me some brief idea please?
Clave/
I also want to know, should my build
be created using 'Distribution'
configuration and built with
Distribution provisional file?
Yes. Your build must be signed with distribution profile. And do not forget about Entitlements.plist file
Can i go to iTunes Connect and fill the form to upload my app?
Yes :)
After further filling up the details, will it ask me to upload my Zipped application(myApp.app file) there?
Yes, there will be a screen where you should upload your zipped binary (as well as 512x512 Application icon and screenshots)
How would be the process further, just give me some brief idea please?
You'll need to fill some forms - application description, category, pricing, stores where distribute your app, some questions to rate your app (in case it contain "objectionable" contents) etc
Anyway (IMO) everything is user friendly and clear there.
In order to upload your app to the app store you must build with a distribution profile, thats pretty much all you need...If you dont know what using encryption means then odds are you are not using encryption so check no for that...after that its pretty straight forward you fill out the info form and submit it for review. If at any step you do something (such as use a wrong provisioning profile) itunes connect will tell you and wont let you proceed, so if you succesfully finish submitting the app then you are good to go...there is also an itunes connect guide you can use here https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
Go here:
http://developer.apple.com/iphone/
On the right of the page, there is a section called "App Store Resource Center", and inside of that there are some great resources like Preparing your App for Submission, etc.
Also, under the Distribution section of the Program Portal, there are some answers to questions like how to build and zip your app for submission, and properly configuring Xcode for the build.
Encryption:
The reason it's asking you for this information is because there are laws around exporting certain types of encryption. You would know if you are using this in your application. If you said yes, there would be some follow up questions and it might lock your application to the US App Store only if your encryption was too high to export. For more information on encryption, your friendly neighborhood search engine can do the rest :)

How can I get an iPhone app to a client for review prior to public release?

I need to show an app I have developed to a client for review prior to its submission to the app store.
The client has an iPhone but not a mac on which to run xCode.
I have a personal (not company) iPhone developer account.
The client is too far away to visit in person.
What are my options?
If the client has iTunes, you can provision a build of your app specific to the client's iPhone ID (visible in iTunes). They just need to drag it into iTunes and then install it on their phone.
Plenty of docs about this in the Apple iPhone Developer site. Good luck!
Option #1:
Login to the iPhone developer portal website.
Add their iPhone UDID to the list of devices.
Generate a provisioning profile that includes your own test phone and theirs. Download the file (ends with .mobileprovision).
Double-click it to install it on your development machine.
Quit and restart XCode, then set your code signing identity to the name of this profile.
Build the binary.
In the left side of XCode "Groups & Files" bar look for Products (may need to expand the folder).
Select {yourapp}.app. Right click and choose 'Reveal in Finder.'
Now take that .app file and the .mobileprovision file you downloaded, zip them both up and send it to the client.
They will need to unzip the archive, then drag-drop the .app and .mobileprovision onto their iTunes and sync the phone. Your app should show up and run.
The portal site has more detailed instructions, but this is basically it in a nutshell.
Option #2:
Sign up with a screen sharing service like WebEx or glance.net (both work on Mac and Windows machines). Run the app in the simulator as they watch the screencast on their machine. If it's in the early stages of development, this is probably much more useful since they can give live feedback. In later stages, sending them the app is probably more useful. The nice thing about screen sharing is that they can take over the mouse and click around and explore while you're there to explain things.
Option #3:
Get a screen-recording app like SnapzPro or ScreenFlow and run the app in the simulator while recording a voice-over of its features. Send them a link to the movie. This is pretty useful if you're walking them through all the features. It's also handy if more than one person at a time needs to review the material. The advantage over #2 is that they can watch it over and over on their own time and take notes.
Depending on the stage of development, #3 is probably best in early stages, #2 in the middle, and #3 in the final steps.
I recommend having the client use the iphone configuration utility to install/uninstall early builds of the app. I am using this with my team and it lets you get direct access to the phone's console and error logs which is super handy when you're in the early stages of development. It also lets you manage the install/uninstall of the app and see the explicit version that you are installing in a much easier to manage way than itunes does.
Option #4:
Try https://testflightapp.com/ , this is easy for distribution of your app. Even Twitter Mirror is Using this to test their beta release.