<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12156376</id><updated>2025-12-10T06:02:24.390-08:00</updated><category term="iPhone development add hoc add-hoc distribution entitlements"/><category term="iPhone development how to handle error message processing handle"/><category term="iPhone development pop up error message box"/><category term="iPhone development sql sqlite sqllite how to delete database old data"/><category term="iPhone development tab bar icon icons grey scale blob"/><category term="iPhone development xcode call method"/><category term="iPhone xcode add hoc add-hoc distribution itunes icon artwork ipa"/><category term="iPhone xcode add hoc distribution provisioning"/><category term="iphone development hide .hidden textfield graphic picture uiimageview uitextview"/><category term="iphone development multiple .xib screen info button"/><category term="iphone development tab bar refresh content change views"/><category term="iphone development textField keyboard return regular expressions"/><category term="iphone development xcode accessoryButtonTappedForRowWithIndexPath"/><category term="itunes apple iphone ipad ios SSL https encryption commodity classification ERN CCATS SNAP-R bis"/><title type='text'>The Lane Files</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12156376.post-9101610974131155239</id><published>2017-09-02T09:47:00.000-07:00</published><updated>2017-09-02T09:47:24.499-07:00</updated><title type='text'>Cisco VSS recovery from a failed router</title><content type='html'>I recently had a client with a Cisco Virtual Switch System (VSS) pair that had one of the devices fail. I&#39;ll not go into the details on that, however I will cover how to recover from a failed VSS switch and get the new device operational again.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Background info:&lt;/b&gt;&lt;br /&gt;
Cisco VSS Link: &amp;nbsp;&lt;a href=&quot;https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-virtual-switching-system-1440/prod_qas0900aecd806ed74b.html&quot; target=&quot;_blank&quot;&gt;Cisco VSS&lt;/a&gt;&lt;br /&gt;
My history with VSS: &amp;nbsp;I hated it for years. &amp;nbsp;It was very common amongst the engineers I worked (at Cisco for 16 years) with to say &quot;Friends don&#39;t let friends run VSS&quot;. &amp;nbsp;I purposefully removed it on several occasions when I was under time crunches because of the additional complexity it introduced during setup and troubleshooting. &amp;nbsp;In the last few years (shortly after it was available on the Cisco 4500 platform) I changed my mind. &amp;nbsp;Cisco fixed most of the issues and made setup much better, so I&#39;m ok with it now.&lt;br /&gt;
&lt;br /&gt;
VSS takes two L3 switches and combines their control plane into one. &amp;nbsp;In a basic fashion you use an active supervisor from one switch and fail over to the standby supervisor in a secondary switch. &amp;nbsp;All ports are operational in both switches regardless of the current operational supervisor. &amp;nbsp; There are about 1000 caveats and conditions that make everything I just wrote far too simplistic or wrong, but it serves our purposes here.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Implications to losing a switch:&lt;/b&gt;&lt;br /&gt;
You just lost the config that was specific to that old switch and you will need to recreate it.&lt;br /&gt;
1. &amp;nbsp;VSS Link configuration - This is the config for the specific interfaces to connect between the two devices. &amp;nbsp;You might still have the config in the old device, by the time I got to this one it was gone. &amp;nbsp;I suspect it was from a reboot or other tinkering with the config as the client had attempted the repair at least twice. &lt;br /&gt;
2. &amp;nbsp;You need a switch number that matches the operational switch.&lt;br /&gt;
3. Y ou need to initialize the new switch back into the pair.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Procedure:&lt;/b&gt;&lt;br /&gt;
This is actually very easy. &amp;nbsp;What you will do is boot up the new device and connect to the console port. &lt;br /&gt;
&lt;br /&gt;
1. &amp;nbsp;Make sure the software versions are the same and the boot config registry is the same on both switches.&lt;br /&gt;
&lt;br /&gt;
2. &amp;nbsp;Take a look at the running switch and find this information near the top.&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;switch virtual domain &lt;b&gt;200&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch mode virtual&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch &lt;b&gt;2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Domain Number:&lt;br /&gt;
The domain number &quot;200&quot; needs to match on both devices.&lt;br /&gt;
&lt;br /&gt;
Switch number:&lt;br /&gt;
Please notice that the current operational switch is number 2, or the &quot;B&quot; switch in the VSS Pair. &amp;nbsp;When you create your config for the new switch it will be switch 1. &amp;nbsp;They must be different numbers so if switch 2 dies, make the replacement switch 2. &amp;nbsp;You might also find some priority information. &amp;nbsp;I&#39;ll leave that out as it&#39;s not important to what we are doing. &amp;nbsp;Go ahead and configure priority any way you may need.&lt;br /&gt;
&lt;br /&gt;
Make your own config for the new switch. &lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;switch virtual domain&amp;nbsp;&lt;b&gt;200&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch mode virtual&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch&amp;nbsp;&lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3. &amp;nbsp;Find the port-channel you need to use. &amp;nbsp;You will find something like this in the old config. &amp;nbsp;You are looking for the old port-channel number from the switch you are replacing to the switch that is currently running. &amp;nbsp;In this case, switch A is being replaced.&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface Port-channel1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A Po1--&amp;gt;6840B Po2 (VSS LINK)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no platform qos channel-consistency&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface Port-channel2&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840B Po2--&amp;gt;6840A Po1 (VSS LINK)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no platform qos channel-consistency&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
So, I&#39;m going to need to recreate Port-Channel 1 on the new switch. &amp;nbsp;We also need to put the switch virtual link command in there. &amp;nbsp;Let&#39;s put that into the config for the new switch. &amp;nbsp;Our new switch config now looks like this:&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;switch virtual domain&amp;nbsp;200&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch mode virtual&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch&amp;nbsp;1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface Port-channel1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A Po1--&amp;gt;6840B Po2 (VSS LINK)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no platform qos channel-consistency&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch virtual link 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
4. &amp;nbsp;Go find the interfaces that will be the VSS link. &amp;nbsp;In this case we will have two and there will probably be no configuration in the existing device. &amp;nbsp;Not to worry, we will just create them. &amp;nbsp;Please note that we are working on a single switch right now, so there are only two numbers in the interface (slot/port). &amp;nbsp;When it become a VSS pair it will have the switch number first. &amp;nbsp;(switch/slot/port). &amp;nbsp;We also match the channel-group number with the port-channel number from above.&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface TenGigabitEthernet&lt;b&gt;1/20&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A TE1/20--&amp;gt;Po1--&amp;gt;6840B Te1/20&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no switchport&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no shutdown&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;channel-group &lt;b&gt;1&lt;/b&gt; mode on&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface TenGigabitEthernet&lt;b&gt;1/&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;30&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A TE1/&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;--&amp;gt;Po1--&amp;gt;6840B Te1/&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;30&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no switchport&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no shutdown&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;channel-group &lt;b&gt;1&lt;/b&gt; mode on&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
5. Make sure the interfaces are up before you try to do the conversion.&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Router(config)#do show int ten 1/20&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;TenGigabitEthernet1/20 is up, line protocol is up (connected)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Router(config)#do show int ten 1/30&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;TenGigabitEthernet1/30 is up, line protocol is up (connected)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
6. &amp;nbsp;Initiate the conversion of the new switch into the VSS pair.&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Router#&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;switch convert mode virtual&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;This command will convert all interface names&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;to naming convention &quot;interface-type switch-number/slot/port&quot;,&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;save the running config to startup-config and&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;reload the switch.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;NOTE: Make sure to configure one or more dual-active detection methods&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;once the conversion is complete and the switches have come up in VSS mode.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;Do you want to proceed? [yes/no]: yes&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;Converting interface names&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;Building configuration...&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;i&gt;[OK]&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
7. Verify VSS is running once it&#39;s done.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;6840A#show switch virtual&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Switch mode &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Virtual Switch&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Virtual switch domain number : 200&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Local switch number &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: 2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Local switch operational role: Virtual Switch Active&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Peer switch number &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Peer switch operational role : Virtual Switch Standby&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;8. The config that was pasted into the new switch:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;switch virtual domain&amp;nbsp;&lt;b&gt;200&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch mode virtual&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch&amp;nbsp;&lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface Port-channel&lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A Po1--&amp;gt;6840B Po2 (VSS LINK)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no platform qos channel-consistency&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;switch virtual link &lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface TenGigabitEthernet&lt;b&gt;1/20&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A TE1/20--&amp;gt;Po1--&amp;gt;6840B Te1/20&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no switchport&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no shutdown&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;channel-group&amp;nbsp;&lt;b&gt;1&lt;/b&gt;&amp;nbsp;mode on&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;interface TenGigabitEthernet&lt;b&gt;1/&lt;/b&gt;&lt;b&gt;30&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;description 6840A TE1/30--&amp;gt;Po1--&amp;gt;6840B Te1/30&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no switchport&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no ip address&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;no shutdown&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;channel-group&amp;nbsp;&lt;b&gt;1&lt;/b&gt;&amp;nbsp;mode on&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;switch convert mode virtual&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;Relevance: &amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;This information should be&amp;nbsp;relevant on the following platforms: &amp;nbsp;6800, 4500, 6500, 6840&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/9101610974131155239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/9101610974131155239?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/9101610974131155239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/9101610974131155239'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2017/09/cisco-vss-recovery-from-failed-router.html' title='Cisco VSS recovery from a failed router'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-6330364047434114179</id><published>2016-01-17T10:08:00.000-08:00</published><updated>2016-01-17T10:08:50.959-08:00</updated><title type='text'>Python and Swift Boolean Algebra</title><content type='html'>After spending a number of years under heavy travel from work I decided to leave Cisco and work for a local partner that resells primarily Cisco equipment. &amp;nbsp;This has given me more time at home and thus more time to do the things I enjoy like programming. &lt;br /&gt;
&lt;br /&gt;
I&#39;ve been doing a lot of Python lately because it maps well to work related project like &lt;a href=&quot;http://www.cisco.com/go/aci&quot; target=&quot;_blank&quot;&gt;Cisco ACI&lt;/a&gt;. &amp;nbsp;I&#39;ve also spent a bit of time learning about Swift and really like how it&#39;s fairly easy to switch between the two even with my limited programming capacity.&lt;br /&gt;
&lt;br /&gt;
Anyway, on to the Boolean Algebra. &amp;nbsp;I have implemented functions of this a few times when checking state for various programs, but didn&#39;t know it had a cool name like Boolean Algebra. &amp;nbsp;While writing some code this morning in &lt;a href=&quot;http://checkio.org/&quot;&gt;checkio.org&lt;/a&gt; I came across this as one of the project and thought I would do it in swift also just to see if it was easy to port the logic between the two as well as learn the other operators.&lt;br /&gt;
&lt;br /&gt;
Below you will find two examples, the first in Python and the second in Swift (playground). &amp;nbsp;I&#39;ve done them slightly different in how I&#39;m testing the outcome while still trying to keep it very simple. &amp;nbsp;It&#39;s very possible to write these without the if statements by using a dictionary and it probably what you should do if you are going to put this entire thing in real code but I&#39;m not here to tell you how to write code, just give you the answers on calculate Boolean Algebra.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Python:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;operations = (&quot;conjunction&quot;, &quot;disjunction&quot;, &quot;implication&quot;, &quot;exclusive&quot;, &quot;equivalence&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;def booleanArith (operation, x, y):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;conjunction&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return x &amp;amp; y&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;disjunction&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (x or y)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;implication&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (not(x) or y)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;exclusive&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return x != y&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;equivalence&quot;:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return x == y&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;def runThem(x, y):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; for operation in operations:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = (booleanArith(operation, x, y))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print (&quot;{} - {}, &amp;nbsp;{} == {}&quot;.format(operation, x, y, result))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; print (&quot;&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;# Testing code&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;x = False&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;y = False&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;runThem(x, y)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;x = True&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;y = False&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;runThem(x, y)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;x = False&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;y = True&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;runThem(x, y)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;x = True&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;y = True&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;runThem(x, y)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;And then Swift:&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;//: Playground - noun: a place where people can play&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;func booleanArith(operation: String, x: Bool, y: Bool) -&amp;gt; Bool {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;conjunction&quot; {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; return (x &amp;amp;&amp;amp; y)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;disjunction&quot;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; return (x || y)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;implication&quot;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; return !x || y&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;exclusive&quot;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; return x != y&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; if operation == &quot;equivalence&quot;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; return x == y&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; return false&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;// Testing code&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;conjunction&quot;, x: false, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;disjunction&quot;, x: false, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;implication&quot;, x: false, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;exclusive&quot;, &amp;nbsp; x: false, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;equivalence&quot;, x: false, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;conjunction&quot;, x: true, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;disjunction&quot;, x: true, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;implication&quot;, x: true, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;exclusive&quot;, &amp;nbsp; x: true, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;equivalence&quot;, x: true, y: false))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;conjunction&quot;, x: false, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;disjunction&quot;, x: false, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;implication&quot;, x: false, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;exclusive&quot;, &amp;nbsp; x: false, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;equivalence&quot;, x: false, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal; min-height: 13px;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;conjunction&quot;, x: true, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;disjunction&quot;, x: true, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;implication&quot;, x: true, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;exclusive&quot;, x: true, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;print (booleanArith(&quot;equivalence&quot;, x: true, y: true))&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;color: white; font-family: Menlo; font-size: 11px; line-height: normal; min-height: 13px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/6330364047434114179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/6330364047434114179?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/6330364047434114179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/6330364047434114179'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2016/01/python-and-swift-boolean-algebra.html' title='Python and Swift Boolean Algebra'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-1993881698371737985</id><published>2011-01-17T16:11:00.000-08:00</published><updated>2015-10-20T07:21:59.829-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="itunes apple iphone ipad ios SSL https encryption commodity classification ERN CCATS SNAP-R bis"/><title type='text'>Apple iTunes export restrictions on apps</title><content type='html'>I recently went through the process of building an app for the iTunes app store that used SSL (HTTPS) encryption. &amp;nbsp;While this seems trivial, it&#39;s not. &amp;nbsp;Depending on where you go, and what you read you might think you don&#39;t need to do anything. &amp;nbsp;That&#39;s wrong. &amp;nbsp;If you application uses encryption (including SSL and HTTPS, possible other public domain encryption) then you need to get at least get an ERN before submitting your app to Apple for approval. &lt;br /&gt;
&lt;br /&gt;
I believe there was some rule changes in May 2010 that made this possible. &amp;nbsp;Prior to these changes, you would have had to get a CCATS for your application. &amp;nbsp;I originally did the full CCATS process, but it was not approved, and they in their own words told me to use this method.&lt;br /&gt;
&lt;br /&gt;
Here is what I did.&lt;br /&gt;
&lt;br /&gt;
Read all the steps before you do this:&lt;br /&gt;
1. &amp;nbsp;Go to this link and use his instructions. &amp;nbsp;This is a great post:&lt;br /&gt;
https://www.zetetic.net/blog/2009/8/3/mass-market-encryption-ccats-commodity-classification-for-ip.html &amp;nbsp;(thank you&amp;nbsp;&lt;a href=&quot;https://www.blogger.com/profile/16064873580685713642&quot; rel=&quot;nofollow&quot; style=&quot;color: #aa77aa; font-family: &#39;Trebuchet MS&#39;, Trebuchet, Verdana, sans-serif; font-size: 13px; text-decoration: none;&quot;&gt;jcesar&lt;/a&gt;)&lt;br /&gt;
2. Do step 1 and 2 for all cases. &amp;nbsp;If you built your own encryption mechanism, that follow the entire post. &amp;nbsp;If you used SSL or other public domain encryption, then you can stop after you have your SNAP-R account.&lt;br /&gt;
3. &amp;nbsp;Go to the SNAP-R login site and login: &amp;nbsp;https://snapr.bis.doc.gov:443/snapr/exp/UserLoginLoad&lt;br /&gt;
4. &amp;nbsp;Click &quot;Create Work Item&quot;&lt;br /&gt;
5. &amp;nbsp;Select &quot;Encryption Registration&quot;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEb1S5bCkXJZRt6BaafI-YmHf5L4bGxfgn3Xn09b1aSjztYKa5EeP0fg1nx6nHbtD6fnwDK2sWUSaQ8pjiGeO5b4J4sGnLKu4uXRhCxryD2KuckY70U7XDJymdu4dRe5sTZBWJPg/s1600/screen-capture-277.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEb1S5bCkXJZRt6BaafI-YmHf5L4bGxfgn3Xn09b1aSjztYKa5EeP0fg1nx6nHbtD6fnwDK2sWUSaQ8pjiGeO5b4J4sGnLKu4uXRhCxryD2KuckY70U7XDJymdu4dRe5sTZBWJPg/s320/screen-capture-277.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
6. &amp;nbsp;Most if it will be filled out for you. &amp;nbsp;Add this information to the &quot;Additional Information&quot; field. &amp;nbsp;I made this up, so your milage will vary.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm0mU9WV9I_X34vZPnA6gqZV8hCIiibmzKdEmdNyHDqlBqeUpVdlaE-HI3T3U6oXwm21KD_4MDvDe57PNN7cC2XjPj_RVOGwgDydb3HN6XOmKc_edeW3fE7tSt3Q71Yh948cpGkA/s1600/screen-capture-278.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;33&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm0mU9WV9I_X34vZPnA6gqZV8hCIiibmzKdEmdNyHDqlBqeUpVdlaE-HI3T3U6oXwm21KD_4MDvDe57PNN7cC2XjPj_RVOGwgDydb3HN6XOmKc_edeW3fE7tSt3Q71Yh948cpGkA/s320/screen-capture-278.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
7. Then attach a document that looks like this one for&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;b&gt;Encryption Registration Supplement No. 5 to Part 742&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
Control Policy—CCL Based Controls Supplement No. 5 to Part 742--page 1&lt;/blockquote&gt;
&lt;blockquote&gt;
Export Administration Regulations June 25, 2010&lt;/blockquote&gt;
&lt;blockquote&gt;
SUPPLEMENT NO. 5 TO PART 742 - ENCRYPTION REGISTRATION&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
Certain classification requests and self-classification reports for encryption items must be supported by an encryption registration, i.e., the information as described in this Supplement, submitted as a support documentation attachment to an application in accordance with the procedures described in §§ 740.17(b), 740.17(d), 742.15(b), 748.1, 748.3 and Supplement No. 2 to part 748 of the EAR.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(1) Point of Contact Information&lt;/blockquote&gt;
&lt;blockquote&gt;
(a) Contact Person&lt;/blockquote&gt;
&lt;blockquote&gt;
Tige Phillips&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(b) Telephone Number&lt;/blockquote&gt;
&lt;blockquote&gt;
1-xxx-xxx-xxxx&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(c) Fax Number&lt;/blockquote&gt;
&lt;blockquote&gt;
1--xxx-xxx-xxxx&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(d) E-mail address&lt;/blockquote&gt;
&lt;blockquote&gt;
xxx@xxx.com&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(e) Mailing Address&lt;/blockquote&gt;
&lt;blockquote&gt;
xxxx E. General Road&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote&gt;
Somewhere, OR 9xxxx&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(2) Company Overview (approximately 100 words)&lt;/blockquote&gt;
&lt;blockquote&gt;
I am an individual developer of software.&amp;nbsp; The software I create typically falls into one of two categories: Business related, where it would interact with systems created by Cisco Systems, or Recreation software that would be simple fun programs for use by individuals.&amp;nbsp; For development I use openly available development platforms from Apple Computers and other manufactures.&amp;nbsp; Creating software is a hobby, not my primary profession.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(3) Identify which of the following categories apply to your company’s technology/families of products:&lt;/blockquote&gt;
&lt;blockquote&gt;
(a) Wireless&lt;/blockquote&gt;
&lt;blockquote&gt;
(i) 3G cellular&lt;/blockquote&gt;
&lt;blockquote&gt;
(ii) 4G cellular/WiMax/LTE&lt;/blockquote&gt;
&lt;blockquote&gt;
(iii) Short-range wireless / WLAN&lt;/blockquote&gt;
&lt;blockquote&gt;
(iv) Satellite&lt;/blockquote&gt;
&lt;blockquote&gt;
(v) Radios&lt;/blockquote&gt;
&lt;blockquote&gt;
(vi) Mobile communications, n.e.s.&lt;/blockquote&gt;
&lt;blockquote&gt;
(b) Mobile applications&lt;/blockquote&gt;
&lt;blockquote&gt;
(c) Computing platforms&lt;/blockquote&gt;
&lt;blockquote&gt;
(d) Multimedia over IP&lt;/blockquote&gt;
&lt;blockquote&gt;
(e) Trusted computing&lt;/blockquote&gt;
&lt;blockquote&gt;
(f) Network infrastructure&lt;/blockquote&gt;
&lt;blockquote&gt;
(g) Link layer encryption&lt;/blockquote&gt;
&lt;blockquote&gt;
(h) Smartcards or other identity management&lt;/blockquote&gt;
&lt;blockquote&gt;
(i) Computer or network forensics&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(j) Software&lt;/blockquote&gt;
&lt;blockquote&gt;
Yes:&amp;nbsp; I only create software.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(i) Operating systems&lt;/blockquote&gt;
&lt;blockquote&gt;
(ii) Applications&lt;/blockquote&gt;
&lt;blockquote&gt;
(k) Toolkits / ASICs / components&lt;/blockquote&gt;
&lt;blockquote&gt;
(l) Information security including secure storage&lt;/blockquote&gt;
&lt;blockquote&gt;
(m) Gaming&lt;/blockquote&gt;
&lt;blockquote&gt;
(n) Cryptanalytic tools&lt;/blockquote&gt;
&lt;blockquote&gt;
(o) “Open cryptographic interface” (or other support for user-supplied or non-standard cryptography)&lt;/blockquote&gt;
&lt;blockquote&gt;
(p) Other (identify any not listed above)&lt;/blockquote&gt;
&lt;blockquote&gt;
(q) Not Applicable (Not a producer of encryption or information technology items)&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(4) Describe whether the products incorporate or use proprietary, unpublished or non-standard cryptographic functionality, including encryption algorithms or protocols that have not been adopted or approved by a duly recognized international standards body. (If unsure, please explain)&lt;/blockquote&gt;
&lt;blockquote&gt;
My products do not use any proprietary, unpublished or non-standard cryptographic functionality.&amp;nbsp; I only use standards based encryption that can be found on the Internet.&amp;nbsp; Standards based Secure Socket Layer (SSL) encryption is an example of what I use.&amp;nbsp; I also only use encryption mechanisms that are available in development platforms by companies like Apple Computers.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(5) Will your company be exporting “encryption source code”?&lt;/blockquote&gt;
&lt;blockquote&gt;
No.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(6) Do the products incorporate encryption components produced or furnished by non-U.S. sources or vendors? (If unsure, please explain)&lt;/blockquote&gt;
&lt;blockquote&gt;
No.&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
(7) With respect to your company’s encryption products, are any of them manufactured outside the United States? If yes, provide manufacturing locations. (Insert “not applicable”, if you are not the principal producer of encryption products)&amp;nbsp;&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
No.&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times;&quot;&gt;8. Once you hit submit, you will get a message in your message box.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5UXDiM5s0ItnC-bnelkjbAGbTsLap2SzkuOLzywOtjBGep8FuiUA4bFupYDip3S_ChoOj63rMSLM-7cEqJNbJV0KckRRYwDFkQQ4_qCY-VbQGmGTzb2PfWwonmqAu_L8XMLZpNg/s1600/screen-capture-279.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;63&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5UXDiM5s0ItnC-bnelkjbAGbTsLap2SzkuOLzywOtjBGep8FuiUA4bFupYDip3S_ChoOj63rMSLM-7cEqJNbJV0KckRRYwDFkQQ4_qCY-VbQGmGTzb2PfWwonmqAu_L8XMLZpNg/s400/screen-capture-279.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Times; font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Times; font-size: x-small;&quot;&gt;9. &amp;nbsp;That message with have your ERN (Encryption Registration Number) in it. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; font-family: Times; font-size: x-small;&quot;&gt;10. Open the message and take a screen shot of the message.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1UytIDG-GdIaXvpxMBfob98pGeDMqZxzkyDnhPuEQSBdnhJ2SYhoK8BeF7PkaVmuhrvPYBdpWPAL_7a5MFmZRPG3ms82d18docB97PpM9sYIhVQtVqfK6_ya4ugYvFuOZX-a7ng/s1600/screen-capture-280.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;187&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1UytIDG-GdIaXvpxMBfob98pGeDMqZxzkyDnhPuEQSBdnhJ2SYhoK8BeF7PkaVmuhrvPYBdpWPAL_7a5MFmZRPG3ms82d18docB97PpM9sYIhVQtVqfK6_ya4ugYvFuOZX-a7ng/s400/screen-capture-280.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
11. &amp;nbsp;Go submit your app to the app store. &amp;nbsp;When they ask about encryption, tell them. &amp;nbsp;If you need to submit an ERN, you have one. &amp;nbsp;:) &amp;nbsp;I gave them a word document with the screen shot of the ERN, and a very brief explanation. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJEpoOjciHF8-L-ufoZ3GE-k5pikFB3MYkzQFxGyFVlNv3wOzDDW580abzEGDpf7NlP-p60Wd_5eCpQMH1WMOXm2G1eo813lhws2FFqxLF78iw7fq18b_wVLXDwBnwxOGrYwzcRw/s1600/screen-capture-284.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;376&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJEpoOjciHF8-L-ufoZ3GE-k5pikFB3MYkzQFxGyFVlNv3wOzDDW580abzEGDpf7NlP-p60Wd_5eCpQMH1WMOXm2G1eo813lhws2FFqxLF78iw7fq18b_wVLXDwBnwxOGrYwzcRw/s400/screen-capture-284.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You&#39;re done. &amp;nbsp;The first status your app will go through is &quot;Waiting for export compliance&quot;. &amp;nbsp;Once your app is approved you will have a LEGAL app on the app store and you didn&#39;t have to lie to Apple or the US government.</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/1993881698371737985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/1993881698371737985?isPopup=true' title='80 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/1993881698371737985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/1993881698371737985'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2011/01/apple-itunes-export-restrictions-on.html' title='Apple iTunes export restrictions on apps'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEb1S5bCkXJZRt6BaafI-YmHf5L4bGxfgn3Xn09b1aSjztYKa5EeP0fg1nx6nHbtD6fnwDK2sWUSaQ8pjiGeO5b4J4sGnLKu4uXRhCxryD2KuckY70U7XDJymdu4dRe5sTZBWJPg/s72-c/screen-capture-277.jpg" height="72" width="72"/><thr:total>80</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-7876549729887742656</id><published>2010-12-27T09:39:00.000-08:00</published><updated>2011-01-09T09:17:43.808-08:00</updated><title type='text'>Update to ATV2 problem - Fixed</title><content type='html'>After a few more hours of troubleshooting and reading I found there is a feature in DNSMasq that protects you from a DNS Rebind attack. &amp;nbsp;Unfortunately, the way Netflix works it uses something that looks just like that, so your DNS queries don&#39;t work and you get no video.&lt;br /&gt;
&lt;br /&gt;
With most setups you could change the DNS server of your Apple TV (and iPhones, because this happens on them also) to the google address (8.8.8.8). &amp;nbsp;Of you can look at your router to see what your ISPs DNS server is and use that.&lt;br /&gt;
&lt;br /&gt;
If you are using DD-WRT, you can upgrade (or look, you might already have this feature if you upgraded in the last 2 months) to a version that has &quot;No DNS Rebind&quot; on the services page in the DNSMasq section. &amp;nbsp;This turns off that security feature. &amp;nbsp;Below is a picture with it turned off. &amp;nbsp;Be sure to reboot your router after you make this change.&lt;br /&gt;
&lt;br /&gt;
If you are using DNSMasq on something else, look into a way to turn off DNS Rebind protection. &amp;nbsp;There are several commands out there for Linux based systems, but I don&#39;t have the time to go check them. &amp;nbsp;You can start at this link that has some of the commands: &lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #333333; font-family: &#39;Lucida Grande&#39;, Geneva, Arial, Verdana, sans-serif; font-size: 12px; line-height: 16px;&quot;&gt;&lt;a class=&quot;jive-link-external&quot; href=&quot;http://www.dd-wrt.com/phpBB2/viewtopic.php?p=518676&amp;amp;sid=26f3585e507c4a2acf83f3fb817971a1&quot; style=&quot;color: #395a90; font-weight: bold; text-decoration: underline;&quot;&gt;http://www.dd-wrt.com/phpBB2/viewtopic.php?p=518676&amp;amp;sid=26f3585e507c4a2acf83f3fb817971a1&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #333333; font-family: &#39;Lucida Grande&#39;, Geneva, Arial, Verdana, sans-serif; font-size: 12px; line-height: 16px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #333333; font-family: &#39;Lucida Grande&#39;, Geneva, Arial, Verdana, sans-serif; font-size: 12px; line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtYukbbXGmSfR6wVQbXAMEovolHjvqsbqCpG5hOK02hiNCyidgvmHBWnSqWSDp_pFywmcb9AWCe_kTmID4C_AVSLZm0QWEyo8iHihUqmbGjqnyNP2vfQhyphenhyphenw-qyfpx5S96J7K_1Wg/s1600/screen-capture-283.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtYukbbXGmSfR6wVQbXAMEovolHjvqsbqCpG5hOK02hiNCyidgvmHBWnSqWSDp_pFywmcb9AWCe_kTmID4C_AVSLZm0QWEyo8iHihUqmbGjqnyNP2vfQhyphenhyphenw-qyfpx5S96J7K_1Wg/s1600/screen-capture-283.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: #333333; font-family: &#39;Lucida Grande&#39;, Geneva, Arial, Verdana, sans-serif; font-size: 12px; line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/7876549729887742656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/7876549729887742656?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/7876549729887742656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/7876549729887742656'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/12/update-to-atv2-problem-fixed.html' title='Update to ATV2 problem - Fixed'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtYukbbXGmSfR6wVQbXAMEovolHjvqsbqCpG5hOK02hiNCyidgvmHBWnSqWSDp_pFywmcb9AWCe_kTmID4C_AVSLZm0QWEyo8iHihUqmbGjqnyNP2vfQhyphenhyphenw-qyfpx5S96J7K_1Wg/s72-c/screen-capture-283.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-2928772297799872090</id><published>2010-12-26T13:29:00.000-08:00</published><updated>2010-12-26T14:30:34.140-08:00</updated><title type='text'>Apple TV 2 problems</title><content type='html'>I&#39;ve been working on the &quot;no netflix videos&quot; for a few days now, and finally tried something new and got it working. &amp;nbsp;Prior to this I could browse everything, but trying to play would spin the pinwheel, and then go back to the movie description window. &amp;nbsp;Now everything works great and I can stream movies and TV shows from Netflix.&lt;br /&gt;
&lt;br /&gt;
Here is what I did. &lt;br /&gt;
1. &amp;nbsp;I connected my ATV2 directly to the back of my cable modem. &amp;nbsp;This worked. &lt;br /&gt;
Going with the idea that maybe there is a connection that is being started from Netflix I decided to try normal port forwarding things on the router.&lt;br /&gt;
2. &amp;nbsp;I setup UPNP. &amp;nbsp;That didn&#39;t work. &lt;br /&gt;
3. &amp;nbsp;I setup a DMZ (basically it port forwards all incoming new connections) to the ATV2. &amp;nbsp;That didn&#39;t work either.&lt;br /&gt;
&lt;br /&gt;
My final setup now until Apple/Netflix/Me figure out what&#39;s wrong and fix it is the following:&lt;br /&gt;
I used an old Ethernet switch, and have the these thigns connected to it:&lt;br /&gt;
1. &amp;nbsp;Cable modem&lt;br /&gt;
2. &amp;nbsp;Linksys E3000 - WAN Port (my main Internet router for my house with lots of stuff behind it)&lt;br /&gt;
3. &amp;nbsp;ATV2 Ethernet port&lt;br /&gt;
&lt;br /&gt;
The big difference in this setup is that the ATV2 has a public Internet address as opposed to a private address. &amp;nbsp;If you have more than one Internet device in your house, you are probably using private addressing. &amp;nbsp;Your ATV probably has an address that starts with 192.168.x.x where x any number between 1 and 254.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfO4PM9wB4eZgFMnJ7DJgXiU8yIDDLEtlFmZ0eQrgxO3C0PSGnJ0_G9AVAStP3WHtYqTOdoccYa2Tq9AFRi-BLog2HxgcGzibiSkERax8_6k2O-_jWH7omP-yVGunq2wKNYVQGMw/s1600/screen-capture-282.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;290&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfO4PM9wB4eZgFMnJ7DJgXiU8yIDDLEtlFmZ0eQrgxO3C0PSGnJ0_G9AVAStP3WHtYqTOdoccYa2Tq9AFRi-BLog2HxgcGzibiSkERax8_6k2O-_jWH7omP-yVGunq2wKNYVQGMw/s400/screen-capture-282.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/2928772297799872090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/2928772297799872090?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2928772297799872090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2928772297799872090'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/12/apple-tv-2-problems.html' title='Apple TV 2 problems'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfO4PM9wB4eZgFMnJ7DJgXiU8yIDDLEtlFmZ0eQrgxO3C0PSGnJ0_G9AVAStP3WHtYqTOdoccYa2Tq9AFRi-BLog2HxgcGzibiSkERax8_6k2O-_jWH7omP-yVGunq2wKNYVQGMw/s72-c/screen-capture-282.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-2241999248565732928</id><published>2010-05-12T08:45:00.000-07:00</published><updated>2010-05-12T09:01:16.920-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iphone development xcode accessoryButtonTappedForRowWithIndexPath"/><title type='text'>How to know in what row an accessory was clicked - TableView</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;I was creating a grouped tableview that had detail disclosures on some of the cells that should then open a new view and make some changes.  I&#39;m using the following code to figure out what cell the accessory is in.  &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;The key things to remember are the &quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Menlo, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;accessoryButtonTappedForRowWithIndexPath&quot; &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;method, and then using the  &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Menlo, serif;&quot;&gt;&lt;span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;switch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt; (indexPath.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;section&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;  for the section and &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Menlo, serif;&quot;&gt;&lt;span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;switch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt; (indexPath.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;row&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;  for the row. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;The trick I used was the copy the &quot;switch&quot; &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Menlo, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Georgia, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;information directly from the method I used to build the table in the first place.  I took out the logic I used, but left in a comment to help me remember what line was what.  example: &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Menlo, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;// Description&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FFFFFF;&quot;&gt;Happy coding!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;void&lt;/span&gt;)tableView:(&lt;span style=&quot;color:#7925ac;&quot;&gt;UITableView&lt;/span&gt; *)&lt;span style=&quot;color:#7925ac;&quot;&gt;tableView&lt;/span&gt; accessoryButtonTappedForRowWithIndexPath:(&lt;span style=&quot;color:#7925ac;&quot;&gt;NSIndexPath&lt;/span&gt; *)indexPath {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#3a8288;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;ServerDescriptionView&lt;span style=&quot;color:#000000;&quot;&gt; *serverDescriptionView = [[&lt;/span&gt;ServerDescriptionView&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;initWithNibName&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;ServerDescriptionView&quot;&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;bundle&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;nil&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#3a8288;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;serverDescriptionView.&lt;/span&gt;profile&lt;span style=&quot;color:#000000;&quot;&gt; = &lt;/span&gt;profile&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;agencyPolicyName&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#3a8288;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;ServerActiveServerView&lt;span style=&quot;color:#000000;&quot;&gt; *serverActiveServerView = [[&lt;/span&gt;ServerActiveServerView&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;initWithNibName&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;ServerActiveServerView&quot;&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;bundle&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;nil&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#3a8288;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;serverActiveServerView.&lt;/span&gt;profile&lt;span style=&quot;color:#000000;&quot;&gt; = &lt;/span&gt;profile&lt;span style=&quot;color:#000000;&quot;&gt;.&lt;/span&gt;agencyPolicyName&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;switch&lt;/span&gt; (indexPath.&lt;span style=&quot;color:#7925ac;&quot;&gt;section&lt;/span&gt;) {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;        &lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;1&lt;/span&gt;:&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;switch&lt;/span&gt; (indexPath.&lt;span style=&quot;color:#7925ac;&quot;&gt;row&lt;/span&gt;) {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#008b00;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;// Description&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[[&lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;navigationController&lt;span style=&quot;color:#000000;&quot;&gt;] &lt;/span&gt;pushViewController&lt;span style=&quot;color:#000000;&quot;&gt;:serverDescriptionView &lt;/span&gt;animated&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;YES&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[serverDescriptionView &lt;span style=&quot;color:#430083;&quot;&gt;release&lt;/span&gt;];&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;     &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;1&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#008b00;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;// Active Server&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[[&lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;navigationController&lt;span style=&quot;color:#000000;&quot;&gt;] &lt;/span&gt;pushViewController&lt;span style=&quot;color:#000000;&quot;&gt;:serverActiveServerView &lt;/span&gt;animated&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;YES&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[serverActiveServerView &lt;span style=&quot;color:#430083;&quot;&gt;release&lt;/span&gt;];&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;     &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;}&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;break&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;        &lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;2&lt;/span&gt;:&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;switch&lt;/span&gt; (indexPath.&lt;span style=&quot;color:#7925ac;&quot;&gt;row&lt;/span&gt;) {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#008b00;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;// Server Power&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;1&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#008b00;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;// Unbind from the Template&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;2&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#008b00;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;// Reset UUID&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;break&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;    &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/2241999248565732928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/2241999248565732928?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2241999248565732928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2241999248565732928'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/05/iphone-how-to-know-what-row-accessory.html' title='How to know in what row an accessory was clicked - TableView'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-3137517314403520456</id><published>2010-05-11T11:41:00.000-07:00</published><updated>2010-05-12T09:02:18.150-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development xcode call method"/><title type='text'>Calling methods in another class file</title><content type='html'>Now that I have my app doing quite a few things I&#39;m starting to realize that I should have created one central place to put a bunch of functions and then call them from different views.  So, I spent some time in google (because I don&#39;t have any iPhone programming books, nor do I know how to program object oriented stuff) and found a few different way to do this.  Actually, they are just variations of the same thing.  I&#39;ll show how I&#39;m doing it in my code now.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the YourFunctions.h file of the new class:&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;void&lt;/span&gt;) showAlert:(&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt;)errorNumber;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the YourFunctions.m file of the new class:&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;void&lt;/span&gt;) showAlert:(&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt;)errorNumber {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;UIAlertView&lt;/span&gt; *error = [[&lt;span style=&quot;color:#7925ac;&quot;&gt;UIAlertView&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color:#430083;&quot;&gt;initWithTitle&lt;/span&gt;:[[&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color:#430083;&quot;&gt;initWithFormat&lt;/span&gt;:&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;Error: %D&quot;&lt;/span&gt;, errorNumber] &lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;message&lt;span style=&quot;color:#000000;&quot;&gt;:[[&lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;alloc&lt;span style=&quot;color:#000000;&quot;&gt;] &lt;/span&gt;initWithFormat&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;This is an error&quot;&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;]&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;delegate&lt;/span&gt;:&lt;span style=&quot;color:#cd00a3;&quot;&gt;nil&lt;/span&gt; &lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;cancelButtonTitle&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;OK&quot;&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;otherButtonTitles&lt;span style=&quot;color:#000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;nil&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;[error &lt;span style=&quot;color:#430083;&quot;&gt;show&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;[error &lt;span style=&quot;color:#430083;&quot;&gt;release&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:Georgia, serif;font-size:16px;&quot;&gt;In the YourView.m file you are calling this new method from:&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:16px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#e50000;&quot;&gt;&lt;span style=&quot;color:#814726;&quot;&gt;#import &lt;/span&gt;&quot;YourFunctions.h&quot;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-size:16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:16px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008b00&quot;&gt;//  As a test I attached a button to this action.&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-size:16px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;IBAction&lt;/span&gt;)showAnAlert {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt; errorNumber = &lt;span style=&quot;color:#2700dc;&quot;&gt;22&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;YourFunctions&lt;/span&gt; *yourFunctions = [[&lt;span style=&quot;color:#3a8288;&quot;&gt;YourFunctions&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color:#430083;&quot;&gt;init&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;[yourFunctions &lt;span style=&quot;color:#205a5e;&quot;&gt;showAlert&lt;/span&gt;:errorNumber];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Menlo, serif;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:11px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-size:16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/3137517314403520456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/3137517314403520456?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/3137517314403520456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/3137517314403520456'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/05/calling-methods-in-another-class-file.html' title='Calling methods in another class file'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-3836774845228204990</id><published>2010-03-23T19:56:00.000-07:00</published><updated>2010-03-23T20:58:54.620-07:00</updated><title type='text'>iPhone Sequential Execution</title><content type='html'>Something that I&#39;ve found a little odd in iPhone code is that things don&#39;t always execute sequentially.  Actually, I&#39;m sure they do, but because they all seem to load at once they don&#39;t seem like it.  I found a great method of something executing right away.  By encapsulating a method in the following function, things before it run, and then this executes and runs.  This is especially useful to be so that I can have an activity indicator (spinning ball) run while this happens in the background.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008b00&quot;&gt;//  Start up our activity indicator while we collect the data&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #205a5e&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #cd00a3&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt; &lt;/span&gt;startActivityIndicator&lt;span style=&quot;color: #000000&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008b00&quot;&gt;//  Run the loadData method right now&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #430083&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color: #cd00a3&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt; &lt;/span&gt;performSelector&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cd00a3&quot;&gt;@selector&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #205a5e&quot;&gt;loadDataInBackground&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;) &lt;/span&gt;withObject&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cd00a3&quot;&gt;nil&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt; &lt;/span&gt;afterDelay&lt;span style=&quot;color: #000000&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #2700dc&quot;&gt;0.0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #430083&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #430083&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000000;&quot;&gt;I can then end the Activity Indicator when I get to the end of the &quot;loadDataInBackground&quot; method.  If we just call both of the methods, the ActivityIndicator doesn&#39;t display until just as the loadData method ends.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #430083&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #430083&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000000;&quot;&gt;-Tige&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/3836774845228204990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/3836774845228204990?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/3836774845228204990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/3836774845228204990'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/03/iphone-sequential-execution.html' title='iPhone Sequential Execution'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-4323293951751908327</id><published>2010-02-03T16:45:00.000-08:00</published><updated>2010-02-08T08:45:18.313-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone xcode add hoc distribution provisioning"/><title type='text'>Modifying add hoc users</title><content type='html'>If you add users to your original beta you will want to know this.  From the iPhone developer page, go to the following:&lt;div&gt;Provisioning -&gt; Distribution&lt;/div&gt;&lt;div&gt;Edit -&gt; Modify (assuming you have one, or make one at this point)&lt;/div&gt;&lt;div&gt;Select your new people (I name this with the beta they are in as part of their name for reference)&lt;/div&gt;&lt;div&gt;Submit&lt;/div&gt;&lt;div&gt;You will need to download this file (it should say pending right now).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note: Don&#39;t do like me and go to another page for a second and then come back and forget to click the &quot;distribution&quot; tab and end up downloading my development certificate again and wondering what the heck was going on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now follow the directions below.  Good luck!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Tige&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a GREAT write up on doing add hoc and I did a direct Cut and Paste from the blog at JohhnyWorks: &lt;/div&gt;&lt;div&gt;http://johnehartzog.com/2009/04/iphone-app-ad-hoc-gotchas/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  line-height: 18px; font-family:&#39;Lucida Grande&#39;, &#39;Lucida Sans Unicode&#39;, Arial, Helvetica, Sans, FreeSans, Jamrul, Garuda, Kalimati;font-size:13px;&quot;&gt;One more thing that caught me over and over again: don’t forget to increment the version number in your info.plist file before giving Ad Hoc users a new copy! iTunes is really sneaky about what happens here…in both cases it says the application is already installed, and asks if you want to replace it, but if you try to replace with the same or lower version number, it won’t actually do anything.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:&#39;Lucida Grande&#39;, &#39;Lucida Sans Unicode&#39;, Arial, Helvetica, Sans, FreeSans, Jamrul, Garuda, Kalimati;font-size:13px;&quot;&gt;&lt;p style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 18px; &quot;&gt;If you are getting&lt;/p&gt;&lt;blockquote style=&quot;margin-top: 10px; margin-right: 65px; margin-bottom: 10px; margin-left: 10px; padding-top: 20px; padding-right: 20px; padding-bottom: 10px; padding-left: 10px; background-image: url(http://johnehartzog.com/wp-content/themes/fusion/images/blockquote.png); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: italic; color: rgb(147, 148, 148); background-position: 0% 0%; &quot;&gt;&lt;p style=&quot;margin-top: 2px; margin-right: 2px; margin-bottom: 2px; margin-left: 2px; padding-top: 8px; padding-right: 8px; padding-bottom: 8px; padding-left: 8px; line-height: 18px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted; border-top-color: rgb(147, 148, 148); border-right-color: rgb(147, 148, 148); border-bottom-color: rgb(147, 148, 148); border-left-color: rgb(147, 148, 148); &quot;&gt;Application was not installed on the iPhone because it could not be verified.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 18px; &quot;&gt;then your profile isn’t valid and you should check out &lt;a href=&quot;http://johnehartzog.com/2009/03/iphone-sdk-provisioning-walkthrough/&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(45, 131, 213); text-decoration: underline; &quot;&gt;this post&lt;/a&gt;. This biggest thing to remember is&lt;/p&gt;&lt;ol style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 19px; &quot;&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: outside; &quot;&gt;Delete all the profiles stored in &lt;code style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;~/Library/MobileDevice/Provisioning Profile&lt;/code&gt;.&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: outside; &quot;&gt;Double click your .mobileprovision file and it will get loaded into XCode - There is a chance that it will get loaded by another application.  If that is the case, right-click it and open it with xcode.&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-position: outside; &quot;&gt;Quit XCode completely. I’m not sure why this is necessary, but often XCode refuses to build unless it starts up with the profile already ready.&lt;/li&gt;&lt;/ol&gt;&lt;p style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 18px; &quot;&gt;Lastly, ensure not only that Entitlements.plist is included in your project (click File, New File, Code Signing, Entitlements), and that get-task-allow is unchecked, but in your “Ad Hoc” build profile (Project, Edit Active Target) expand the list to “All Settings” make sure the “Code Signing Entitlements” field is filled out with your “Entitlements.plist”.&quot;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/4323293951751908327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/4323293951751908327?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4323293951751908327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4323293951751908327'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/02/modifying-add-hoc-users.html' title='Modifying add hoc users'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-4558449919760058042</id><published>2010-02-01T10:38:00.001-08:00</published><updated>2010-02-01T10:51:04.333-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone xcode add hoc add-hoc distribution itunes icon artwork ipa"/><title type='text'>Add Hoc distribution for iPhone App</title><content type='html'>&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;border-collapse: collapse;  line-height: 18px; font-size:14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;Now to create the bundle to &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;give to people and install in iTunes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;Get your .app file that was created.  Be sure you have all debugging turned off and not spitting out any junk you used for testing, etc.  I also changed the version number of the application in the .plist file for the app and on the info screen so people would know it&#39;s beta and not get confused or something later.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;For people to install the application they need two files.  For a Mac, they just need the .app file and the .mobileprovision file.  That said, I&#39;m creating the Windows version for everyone for two reasons.  I only have to distribute one package, and two I can put the icon in iTunes with the Windows method and I can&#39;t figure out how to do that with the Mac method.  So, here is the Windows Method.  There are lots of version of this on the web and this is what works for me.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;This is a very informative post:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;http://iphoneinaction.manning.com/iphone_in_action/2009/11/creating-an-ad-hoc-distribution.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;Now for the distribution files.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;Create a directory for your distribution, we&#39;ll call it myApp&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;Create a folder in that folder called myApp/Payload&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;Put a copy of myApp.app in Payload&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;Put a copy of the file you want displayed in Itunes in the myApp folder&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;This file should be called iTunesArtwork, no extension (I used a PNG, the same one as my apps icon)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;Create a .ipa file using the following:  zip -r myAppBeta.ipa Payload&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; border-collapse: collapse; line-height: 18px; &quot;&gt;Add the artwork to the .ipa file:  zip -r myAppBeta.ipa iTunesArtwork&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse;  line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:medium;&quot;&gt;You&#39;re done.  Now send everyone in the beta test the myAppBeta.ipa file, and the myApp.mobileprovision file.  All they need to do is drag both files into iTunes and sync their phone.  You probably should try it first before sending it out.  :)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;border-collapse: collapse;  line-height: 18px;font-size:14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/4558449919760058042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/4558449919760058042?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4558449919760058042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4558449919760058042'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/02/add-hoc-distribution-for-iphone-app.html' title='Add Hoc distribution for iPhone App'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-4335932096074184662</id><published>2010-02-01T10:16:00.000-08:00</published><updated>2010-02-01T10:38:14.701-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development add hoc add-hoc distribution entitlements"/><title type='text'>iPhone app, ready for Beta</title><content type='html'>My app is finally in a condition that I feel it&#39;s safe to give to people so they can beta test it and find the real problems.  :)  I was having an issue with Build-Run once I had added my new signature file, etc.  Here is the error: &lt;span class=&quot;Apple-style-span&quot; style=&quot; border-collapse: collapse;  line-height: 18px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:georgia;&quot;&gt;The executable was signed with invalid entitlements&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;I was also getting an error when trying to install it via iTunes that the phone was not entitled to run the application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is the information from StackOverflow with some minor changes:&lt;/div&gt;&lt;div&gt;http://stackoverflow.com/questions/1074546/the-executable-was-signed-with-invalid-entitlements&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot; border-collapse: collapse;  line-height: 18px; font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;font-size:14px;&quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; clear: both; background-position: initial initial; &quot;&gt;For Ad Hoc Distribution, complete the following:&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; list-style-type: disc; list-style-position: initial; list-style-image: initial; background-position: initial initial; &quot;&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; &quot;&gt;In the File Menu, select New File -&gt; iPhone OS -&gt; Code Signing -&gt; Entitlements. Name the file “Entitlements.plist&quot; and click ‘Finish’. This creates a copy of the default entitlements file within the project.&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; &quot;&gt;Select the new Entitlments.plist file and uncheck the “get-task-allow” property. Save the Entitlements.plist file.&lt;/li&gt;&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; &quot;&gt;Select the Target and open the Project -&gt; Edit Project Settings -&gt; Build settings inspector. In the ‘Code Signing Entitlements’ build setting, type in the filename of the new Entitlements.plist file including the extension. There is no need to specify a path unless you have put the Entitlements.plist file somewhere other than the top level of the project&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-size: 14px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/4335932096074184662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/4335932096074184662?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4335932096074184662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4335932096074184662'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/02/iphone-app-ready-for-beta.html' title='iPhone app, ready for Beta'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-2887611625989522746</id><published>2010-01-17T10:14:00.000-08:00</published><updated>2010-02-03T17:42:58.336-08:00</updated><title type='text'>Text Fields and dismissing the keyboard</title><content type='html'>I was going back and making changes to my text fields and keyboard dismissing and wanted to move to the next field only if that field was blank.  I relized then, that I had not taken any notes here on how to dismiss a keyboard, or how to assign a new text field.  Here is the code to dismiss a field, and then assign the next one.  I&#39;ll just write some if statements to figure out the order in which I want them to populate if the user needs to enter them all.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;BOOL&lt;/span&gt;)textFieldShouldReturn:(&lt;span style=&quot;color:#7925ac;&quot;&gt;UITextField&lt;/span&gt; *)theTextField { &lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (theTextField == &lt;span style=&quot;color:#3a8288;&quot;&gt;userName&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;userName&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;resignFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;becomeFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;]; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (theTextField == &lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;resignFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;]; &lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(67, 0, 131); &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(58, 130, 136); &quot;&gt;serverAddress&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt; &lt;/span&gt;becomeFirstResponder&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (theTextField == &lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;resignFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;]; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;return&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;YES&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;Ok, I wrote the if statements before I even finished writing this blog.  It&#39;s messy, so if you know a bette/faster way to do this, do it your way!&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;BOOL&lt;/span&gt;)textFieldShouldReturn:(&lt;span style=&quot;color:#7925ac;&quot;&gt;UITextField&lt;/span&gt; *)aTextField { &lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (aTextField == &lt;span style=&quot;color:#3a8288;&quot;&gt;userName&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;userName&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;resignFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; ([&lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;.&lt;span style=&quot;color:#7925ac;&quot;&gt;text&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;length&lt;/span&gt;] == &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;) { &lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;becomeFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;} &lt;span style=&quot;color:#cd00a3;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; ([&lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;.&lt;span style=&quot;color:#7925ac;&quot;&gt;text&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;length&lt;/span&gt;] == &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;becomeFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (aTextField == &lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;resignFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; ([&lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;.&lt;span style=&quot;color:#7925ac;&quot;&gt;text&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;length&lt;/span&gt;] == &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;becomeFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (aTextField == &lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;resignFirstResponder&lt;span style=&quot;color:#000000;&quot;&gt;]; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;return&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;YES&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/2887611625989522746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/2887611625989522746?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2887611625989522746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2887611625989522746'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/01/text-fields-and-dismissing-keyboard.html' title='Text Fields and dismissing the keyboard'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-2016770222065255041</id><published>2010-01-14T08:08:00.001-08:00</published><updated>2010-01-14T08:15:42.054-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development sql sqlite sqllite how to delete database old data"/><title type='text'>Working with SQL Databases on iPhone</title><content type='html'>I&#39;m using a small sqlite database for my iPhone app and was having problems with the data.  I was making changes to the database in either CLI or in Firefox SQLite Manager, deleting the database file from my iPhone project, and copying the new file in.  It would never use the new data, only the old data was being accessed.  I finally figured out what was going on because there was not enough rows when I was stepping through it and set out looking for an answer.  Below is the first hit I found and it answered it perfectly.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Short answer:  It get&#39;s cached like data for a normal application.  Go look in your folder for the iPhone Simulator/USR/Applications and you will be able to delete it from there.  Then compile your code again and it should be working.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Tige&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://stackoverflow.com/questions/1314940/cant-refresh-iphone-sqlite3-database&quot;&gt;http://stackoverflow.com/questions/1314940/cant-refresh-iphone-sqlite3-database&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/2016770222065255041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/2016770222065255041?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2016770222065255041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2016770222065255041'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/01/working-with-sql-databases-on-iphone.html' title='Working with SQL Databases on iPhone'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-6480402491534788309</id><published>2010-01-11T15:58:00.000-08:00</published><updated>2010-01-11T16:04:35.195-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iphone development tab bar refresh content change views"/><title type='text'>Refreshing views while using a Tab Bar on the iPhone</title><content type='html'>In my tab bar based iPhone application I had a view that would connect to a web service and pull down the requested data.  It would then use that data to populate labels and text fields on other views.  I had it working for the first time using &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Menlo, serif; font-size: 11px; &quot;&gt;- (&lt;span style=&quot;color: #cd00a3&quot;&gt;void&lt;/span&gt;)viewDidLoad&quot;&lt;/span&gt;, but was not able to get it to update when I would go back to the main view and refresh the information.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I finally found that the viewWillAppear method just didn&#39;t have a place holder but I could add it and use it.  So, just add the following code to the .m file controlling your view and it will update every time you switch back to it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color: #cd00a3&quot;&gt;void&lt;/span&gt;)viewWillAppear:(&lt;span style=&quot;color: #cd00a3&quot;&gt;BOOL&lt;/span&gt;)animated {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;//  Do stuff here&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;    [&lt;span style=&quot;color: #cd00a3&quot;&gt;super&lt;/span&gt; &lt;span style=&quot;color: #430083&quot;&gt;viewWillAppear&lt;/span&gt;:animated];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Menlo, serif;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 11px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/6480402491534788309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/6480402491534788309?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/6480402491534788309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/6480402491534788309'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/01/refreshing-views-while-using-tab-bar-on.html' title='Refreshing views while using a Tab Bar on the iPhone'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-3650064296052150904</id><published>2010-01-07T09:27:00.000-08:00</published><updated>2010-01-07T09:42:47.921-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development how to handle error message processing handle"/><title type='text'>Handling iPhone errors part two</title><content type='html'>Now that I can make a pop-up message I wanted to clean up the code and do all of my error processing from one place.  To this end I removed all of the error handling I was doing and instead changed it so my individual functions would return a value.  The number 0 if everything was ok, and a number that would signify the error type if everything was not ok.  I had about 15 possible errors at the time so I gave them all numbers and converted my functions from -(void) to -(int) and added the numbers to the return lines.  Below you will see an example of the code and how I&#39;m now processing the errors.  Everything works fine, but if there is a better way to do this, please let me and everyone else know.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;// Header file&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;IBAction&lt;/span&gt;)refreshInformation:(&lt;span style=&quot;color:#cd00a3;&quot;&gt;id&lt;/span&gt;)sender;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt;)verifyUserInput;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;void&lt;/span&gt;)handleErrors:(&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt;)errorNumber;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;//  Call the function to check user input, and then pass the results to the error checking //function&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;IBAction&lt;/span&gt;)refreshInformation:(&lt;span style=&quot;color:#cd00a3;&quot;&gt;id&lt;/span&gt;)sender { &lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;NSInteger&lt;/span&gt; funcReturn = &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#008b00;&quot;&gt;// Verify they have entered everything we need to get the information&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;funcReturn = [&lt;span style=&quot;color:#cd00a3;&quot;&gt;self&lt;/span&gt; &lt;span style=&quot;color:#205a5e;&quot;&gt;verifyUserInput&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p color=&quot;#008b00&quot; style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; &quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;//  Did we have any errors?&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; (funcReturn) {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;[&lt;span style=&quot;color:#cd00a3;&quot;&gt;self&lt;/span&gt; &lt;span style=&quot;color:#205a5e;&quot;&gt;handleErrors&lt;/span&gt;:funcReturn];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Menlo, serif;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-size:11px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;//  Function to check the user input&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt;)verifyUserInput { &lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008b00&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;Initialize some local variables with the input from the user&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; *nameString = &lt;span style=&quot;color:#3a8288;&quot;&gt;userName&lt;/span&gt;.&lt;span style=&quot;color:#7925ac;&quot;&gt;text&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; *passString = &lt;span style=&quot;color:#3a8288;&quot;&gt;userPassword&lt;/span&gt;.&lt;span style=&quot;color:#7925ac;&quot;&gt;text&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; *serverString = &lt;span style=&quot;color:#3a8288;&quot;&gt;serverAddress&lt;/span&gt;.&lt;span style=&quot;color:#7925ac;&quot;&gt;text&lt;/span&gt;;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008b00&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;Verify that people are putting the right stuff into the fields&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; ([nameString &lt;span style=&quot;color:#430083;&quot;&gt;length&lt;/span&gt;] == &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#2700dc;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;} &lt;span style=&quot;color:#cd00a3;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; ([passString &lt;span style=&quot;color:#430083;&quot;&gt;length&lt;/span&gt;] == &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#2700dc;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;} &lt;span style=&quot;color:#cd00a3;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color:#cd00a3;&quot;&gt;if&lt;/span&gt; ([serverString &lt;span style=&quot;color:#430083;&quot;&gt;length&lt;/span&gt;] == &lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;) {&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#2700dc;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(205, 0, 163); &quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;return&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#2700dc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt; }&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;//  Function to process the error numbers&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;- (&lt;span style=&quot;color:#cd00a3;&quot;&gt;void&lt;/span&gt;)handleErrors:(&lt;span style=&quot;color:#cd00a3;&quot;&gt;int&lt;/span&gt;)errorNumber {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; *errorText;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;switch&lt;/span&gt; (errorNumber) {&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;11&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#e50000;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;errorText = &lt;/span&gt;@&quot;All fields are required&quot;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;break&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;21&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#e50000;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;errorText = &lt;/span&gt;@&quot;Authentication failed&quot;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;break&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;22&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#e50000;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;errorText = &lt;/span&gt;@&quot;System login failure&quot;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;break&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;23&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#e50000;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;errorText = &lt;/span&gt;@&quot;Read-Only user required&quot;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;break&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color:#2700dc;&quot;&gt;24&lt;/span&gt;:&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#e50000;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;errorText = &lt;/span&gt;@&quot;Network connection failed&quot;&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#cd00a3;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;break&lt;span style=&quot;color:#000000;&quot;&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span style=&quot;color:#7925ac;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;UIAlertView&lt;/span&gt; *error = [[&lt;span style=&quot;color:#7925ac;&quot;&gt;UIAlertView&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color:#430083;&quot;&gt;initWithTitle&lt;/span&gt;:[[&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color:#430083;&quot;&gt;initWithFormat&lt;/span&gt;:&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;Error: %D&quot;&lt;/span&gt;, errorNumber] &lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;message&lt;/span&gt;:[[&lt;span style=&quot;color:#7925ac;&quot;&gt;NSString&lt;/span&gt; &lt;span style=&quot;color:#430083;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color:#430083;&quot;&gt;initWithFormat&lt;/span&gt;:&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;%@&quot;&lt;/span&gt;, errorText]&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color:#430083;&quot;&gt;delegate&lt;/span&gt;:&lt;span style=&quot;color:#cd00a3;&quot;&gt;nil&lt;/span&gt; &lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;cancelButtonTitle&lt;span style=&quot;color:#000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#e50000;&quot;&gt;@&quot;OK&quot;&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt; &lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#430083;&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;otherButtonTitles&lt;span style=&quot;color:#000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#cd00a3;&quot;&gt;nil&lt;/span&gt;&lt;span style=&quot;color:#000000;&quot;&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;  [error &lt;span style=&quot;color:#430083;&quot;&gt;show&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;  [error &lt;span style=&quot;color:#430083;&quot;&gt;release&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;}&lt;/p&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Menlo, serif;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-size:11px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/3650064296052150904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/3650064296052150904?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/3650064296052150904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/3650064296052150904'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/01/handeling-erros-part-two.html' title='Handling iPhone errors part two'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-6979013394511990700</id><published>2010-01-06T14:25:00.000-08:00</published><updated>2010-01-06T14:30:00.987-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development pop up error message box"/><title type='text'>Handling Errors on the iPhone</title><content type='html'>I read that you need to have a popup error if your application can&#39;t get to a network and it&#39;s required, so I did some quick checking on how to do that and here is the code I found.  Very simple to use and modify to add specific errors.  Just place this into a function and call it, or put it right into your code where an error occurs.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p  style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color:#7925ac;&quot;&gt;UIAlertView&lt;span&gt; *alert = [[&lt;/span&gt;UIAlertView&lt;span&gt; &lt;/span&gt;&lt;span&gt;alloc&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;initWithTitle&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;@&quot;Error&quot;&lt;/span&gt;&lt;/p&gt;&lt;p color=&quot;#7925ac&quot; style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; &quot;&gt;&lt;span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;  &lt;span&gt;message&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;@&quot;This is the error or get a string&quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;  &lt;span&gt;delegate&lt;/span&gt;:&lt;span&gt;nil&lt;/span&gt; &lt;/p&gt; &lt;p color=&quot;#430083&quot; style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; &quot;&gt;  cancelButtonTitle&lt;span&gt;:&lt;/span&gt;&lt;span&gt;@&quot;OK&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt; &lt;p color=&quot;#430083&quot; style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; &quot;&gt;  otherButtonTitles&lt;span&gt;: &lt;/span&gt;&lt;span&gt;nil&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;[alert &lt;span&gt;show&lt;/span&gt;];&lt;/p&gt; &lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo&quot;&gt;[alert &lt;span&gt;release&lt;/span&gt;];&lt;/p&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Menlo, serif;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:11px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/6979013394511990700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/6979013394511990700?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/6979013394511990700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/6979013394511990700'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/01/handling-errors-on-iphone.html' title='Handling Errors on the iPhone'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-62342579087607723</id><published>2010-01-06T13:02:00.001-08:00</published><updated>2010-01-06T13:31:37.065-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iPhone development tab bar icon icons grey scale blob"/><title type='text'>iPhone TabBar icons</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN0hi3mVrgyQLqbqooFcI7oNy7IPWzpqum5YeWN5vUl2S97GlMFq6F210aBCGlCqdRGKbk6xc2zVmiphM877rxBjMfX75ldqloqg0zapcIhhkfVL-ZOOM6ImpOGE0sQHZeTk_Rzg/s1600-h/screen-capture-96.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 319px; height: 47px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN0hi3mVrgyQLqbqooFcI7oNy7IPWzpqum5YeWN5vUl2S97GlMFq6F210aBCGlCqdRGKbk6xc2zVmiphM877rxBjMfX75ldqloqg0zapcIhhkfVL-ZOOM6ImpOGE0sQHZeTk_Rzg/s320/screen-capture-96.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5423741924610336210&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Happy New Year everyone!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As with all fun projects, I&#39;ve taken a new tactic at how to do my iPhone application.  It now includes a tab bar at the bottom for switching between pages.  I now had a new problem.  All of the icons were coming up as grey blobs in the bar and it took me a while to figure out how to fix it.  I never really found a good answer on the internet, so it&#39;s my own info here (not a link like normal).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found that the icons should be 30x30 pixels and should be in grey scale.  I also have found that anything that is colored shows up as a light grey.  It doesn&#39;t seem to mater if this is white, grey, black, etc.  Everything else should be transparent and that will will show up black.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The pictures above are black lines on a transparent background.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-Tige&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/62342579087607723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/62342579087607723?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/62342579087607723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/62342579087607723'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2010/01/iphone-tabbar-icons.html' title='iPhone TabBar icons'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN0hi3mVrgyQLqbqooFcI7oNy7IPWzpqum5YeWN5vUl2S97GlMFq6F210aBCGlCqdRGKbk6xc2zVmiphM877rxBjMfX75ldqloqg0zapcIhhkfVL-ZOOM6ImpOGE0sQHZeTk_Rzg/s72-c/screen-capture-96.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-2816332919591273946</id><published>2009-12-25T15:57:00.001-08:00</published><updated>2009-12-25T16:05:35.148-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iphone development multiple .xib screen info button"/><title type='text'>Fliping between pages on iPhone</title><content type='html'>For my project I wanted to have an info screen (really, I did!).  After some looking around I found a great video tutorial on how to do this.  I creates a separate nib (.xib) file and loads it based on pushing buttons.  It also incorporates accessing variables in other .m files which will be useful to me sooner that I had though now that I know it&#39;s easy to do.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only word of caution on the video is that is a little dated and Apple has made some modifications to the way both the IB and xcode work.  Specifically, it does things for you now.  I&#39;m a total noob to this stuff, so I&#39;m sure the next person will will not have a problem.  Just remember that it is different, and you only need to make two files, not 6.  When you create the SecondView files, you can create the .h and .xib files all at once.  The old xcode required you to make all three separately.  IB just looks a little different is all.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Have fun!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://vimeo.com/1450817&quot;&gt;Nick Meyers - Multiple XIB files&lt;/a&gt;&lt;/div&gt;&lt;div&gt;http://vimeo.com/1450817&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/2816332919591273946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/2816332919591273946?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2816332919591273946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/2816332919591273946'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2009/12/fliping-between-pages-on-iphone.html' title='Fliping between pages on iPhone'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-7125823428280734850</id><published>2009-12-20T08:21:00.000-08:00</published><updated>2009-12-20T09:00:17.856-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iphone development hide .hidden textfield graphic picture uiimageview uitextview"/><title type='text'>iPhone image hiding</title><content type='html'>I wanted to display a little red &quot;X&quot; when someone didn&#39;t enter all of the fields, but was having a hard time using the .hidden label.  I finally found a really good post that I&#39;ll link here, and I&#39;ll also summarize for you.&lt;br /&gt;&lt;br /&gt;This works for UITextField and I&#39;m sure other objects as well.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iphonedevsdk.com/forum/iphone-sdk-development/19453-hiding-uiimageview.html&quot;&gt;Hide an object&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are the basics.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;In your .h file for your view. In the same section as @interface enter:     &lt;span style=&quot;font-family:courier new;&quot;&gt;IBOutlet UIImageView *imageBadInput;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Just below the interface section enter:     &lt;span style=&quot;font-family:courier new;&quot;&gt;@property (nonatomic, retain) IBOutlet UIImageView *imageBadInput;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Now move to the .m file for you view and after @implementation enter :  &lt;span style=&quot;font-family:courier new;&quot;&gt;@synthesize imageBadInput;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the body of this file enter the following to hide the object, and use the NO form to display it: &lt;span style=&quot;font-family:courier new;&quot;&gt;     imageBadInput.hidden = YES;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Save these files (they will be grey in the list on the left if they are not saved).&lt;/li&gt;&lt;li&gt;Open up Interface Builder with your nib (.xib) file.  Ctrl-click and drag either the File Owner, or the ViewController (depends on how you are building your app).&lt;/li&gt;&lt;li&gt;Drag the blue line over to the graphic you want, and drop it once highlighted.  &lt;/li&gt;&lt;li&gt;You now have the option to select the outlet you created in step 1&lt;/li&gt;&lt;li&gt;If you have created several of them, they will all be available.  Objects already connected have a &quot;-&quot; before them.&lt;/li&gt;&lt;li&gt;Save the nib file, and build as normal.&lt;/li&gt;&lt;/ol&gt;If you want to hide these objects unless there is a problem, you can implement this in your views .m file to hide the objects when the view loads.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;- (void)viewDidLoad {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;    imageBadInput.hidden = YES;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;}&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/7125823428280734850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/7125823428280734850?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/7125823428280734850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/7125823428280734850'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2009/12/iphone-image-hiding.html' title='iPhone image hiding'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-4562154670095721898</id><published>2009-12-17T21:20:00.000-08:00</published><updated>2009-12-17T21:40:49.172-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iphone development textField keyboard return regular expressions"/><title type='text'>iPhone dev learning all the time</title><content type='html'>Here are a few things I learned today.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How to exit out of a function.  &quot;return;&quot;  though one I know.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How to move from one &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;textField&lt;/span&gt; to another &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;textField&lt;/span&gt; for input using the Next button on the keyboard (Done and Return works also).  Just put this in with releasing the keyboard &lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:&#39;courier new&#39;;&quot;&gt;&lt;b&gt;&quot;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:&#39;courier new&#39;;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;[field2&lt;/span&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;TextField&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;becomeFirstResponder&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Thanks &lt;a href=&quot;http://www.flexicoder.com/blog/index.php/2009/08/iphone-keyboard-automatically-move-to-next-textfield-when-next-is-pressed/&quot;&gt;flexicoder&lt;/a&gt; for this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I needed to use some regular expressions to find information in the server replies that I&#39;m working with.  I&#39;m hoping to figure out how this stuff can be used with xml, but for now I&#39;m using &lt;a href=&quot;http://regexkit.sourceforge.net/&quot;&gt;RegexKitLite Framework&lt;/a&gt;.  Seems to work well, and it&#39;s just a .h and .m file to add to the project.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/4562154670095721898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/4562154670095721898?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4562154670095721898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4562154670095721898'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2009/12/iphone-dev-learning-all-time.html' title='iPhone dev learning all the time'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-4836012701691392401</id><published>2009-12-12T15:42:00.000-08:00</published><updated>2009-12-17T21:27:29.439-08:00</updated><title type='text'>iPhone XML interface application - Part 1</title><content type='html'>I&#39;m building an iPhone application that will interface with some networking equipment to pull status data and display it on the screen.  The basic components (I think) of this are using http POST, managing a cookie, and reading the xml output from the POST command.  I also need to enter a small amount of data in on the phone (server, username, password) so I need to learn how to do some of those things as well.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some of the things I&#39;m working on so far are:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.  Taking the text input (server url address) on the iPhone and forming that into something to make the actual http query/POST. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.trap17.com/index.php/Xcode-Objective-20_t58389.html&quot;&gt;http://www.trap17.com/index.php/Xcode-Objective-20_t58389.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2.  A framework for working with HTTP that includes POST.&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://allseeing-i.com/ASIHTTPRequest/&quot;&gt;http://allseeing-i.com/ASIHTTPRequest/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/4836012701691392401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/4836012701691392401?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4836012701691392401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/4836012701691392401'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2009/12/iphone-xml-interface-application-part-1.html' title='iPhone XML interface application - Part 1'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-7611905182836386190</id><published>2009-12-12T15:38:00.000-08:00</published><updated>2009-12-12T15:42:28.318-08:00</updated><title type='text'>Long time since last update..</title><content type='html'>The house didn&#39;t get built.  Long story, so I won&#39;t go into it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On to my next project.  An iPhone application.  I finally found a use for one that someone has not already built.  I need to learn a lot about iPhone apps on top of objective C.  Fortunately, my C background from years ago is mostly applicable, and what I want to do is not rocket science.  I keep finding tutorials etc. that I want to keep track of, so I&#39;m going to use this blog to do that.  If it only get&#39;s referenced by me, so be it.  If someone finds the information useful, then that&#39;s just great.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/7611905182836386190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/7611905182836386190?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/7611905182836386190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/7611905182836386190'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2009/12/long-time-since-last-update.html' title='Long time since last update..'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-5256896074080833203</id><published>2007-09-04T20:25:00.000-07:00</published><updated>2007-09-04T20:28:20.100-07:00</updated><title type='text'>Lot videos</title><content type='html'>Videos of where the house is going on the lot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/n6NzOFgm6bc&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/n6NzOFgm6bc&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/dCnivL87Td0&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/dCnivL87Td0&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/5256896074080833203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/5256896074080833203?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/5256896074080833203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/5256896074080833203'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2007/09/lot-videos.html' title='Lot videos'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-117350594258660110</id><published>2007-03-09T21:49:00.000-08:00</published><updated>2007-03-09T21:52:22.856-08:00</updated><title type='text'>Infiniti Power Parachute - Low and slow</title><content type='html'>&lt;table xmlns=&quot;http://purl.org/atom/ns#&quot; border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;embed flashvars=&quot;&quot; id=&quot;VideoPlayback&quot; src=&quot;http://video.google.com/googleplayer.swf?docId=819507272915415341&amp;amp;hl=en&quot; style=&quot;width:300px; height:243px;&quot; type=&quot;application/x-shockwave-flash&quot;&gt; &lt;/embed&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr/&gt;&lt;tr&gt;&lt;td&gt;A few minutes of our Infinity Power Parachute on it&#39;s first day of flying since we purchased it.  It&#39;s a clowdy day, but almost no wind so we were able to take it up and fly aroudn a bit.  Kept it low so as not to get lost in the clowds.  Some nice tight turns very close to the ground.  We were below the tree line for much of the flights.&lt;br /&gt;&lt;br /&gt;keywords:  buckeye dream machine six shooter chute fly &lt;br /&gt;                &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/117350594258660110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/117350594258660110?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/117350594258660110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/117350594258660110'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2007/03/infiniti-power-parachute-low-and-slow.html' title='Infiniti Power Parachute - Low and slow'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12156376.post-117347876645763751</id><published>2007-03-09T14:16:00.000-08:00</published><updated>2007-03-09T14:19:26.480-08:00</updated><title type='text'>New Years 2007 Sleds</title><content type='html'>&lt;table xmlns=&quot;http://purl.org/atom/ns#&quot; border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;embed flashvars=&quot;&quot; id=&quot;VideoPlayback&quot; src=&quot;http://video.google.com/googleplayer.swf?docId=-3500173437842250919&amp;amp;hl=en&amp;amp;autoplay=1&quot; style=&quot;width:300px; height:243px;&quot; type=&quot;application/x-shockwave-flash&quot;&gt; &lt;/embed&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr/&gt;&lt;tr&gt;&lt;td&gt;Mostly snowmobiles jumping near a ski resort Mt. Bachelor out of Bend, Oregon. Five of us just having some fun till the day got cut short when one of the sleds died on us.  Captured The day before New Years eve 2006.  All video from our Helmet Cam, Don&#39;t Stay by Linkin Park playing for audio.  Arctic Cat (900 and 1000), Ski Doo (550 and 1000), and Polaris (700 and 800) all on the ride.  Extra Keywords: snow machine, snowmobile, sled, jump, OR&lt;br /&gt;&lt;br /&gt;                &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://tigelane.blogspot.com/feeds/117347876645763751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/12156376/117347876645763751?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/117347876645763751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12156376/posts/default/117347876645763751'/><link rel='alternate' type='text/html' href='http://tigelane.blogspot.com/2007/03/new-years-2007-sleds.html' title='New Years 2007 Sleds'/><author><name>Tige</name><uri>http://www.blogger.com/profile/16857551648591515601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNsrg8arabxQe_ZsujHSUx7TlsM5VEf_0zgqBM6HfEf9nZ5qO0eJ3uABkOYhenzQpcZjZmje2l7yJ1MTBqkOiDSoOz2DH-IX5hvSirs9WLuG68Vr9Smo8VX8WmAv9kLQ/s220/n1183446853_40489_2546.jpg'/></author><thr:total>0</thr:total></entry></feed>