Easy DIY Photo Booth – iOS App edition

Photo Booth Apps are great for weddings, holiday parties, get togethers, and goofin around.

PG Booth DIY Photo Booth setup

PG Booth DIY Photo Booth setup

diy photo booth photo strip images

diy photo booth photo strip images

Want an easy DIY Photo Booth setup?

PG Booth DIY Photo Booth setup

PG Booth DIY Photo Booth setup


flat_rounded_150


Check it out at the PG Booth website


Or in the app store

Posted in diy photo booth, events, pg booth, weddings | Leave a comment

Dookie Dog Stickers

Dookie Dog Stickers for imessage in iOS 10



View in itunes

or

get Dookie Dog the Game

Posted in Uncategorized | Leave a comment

Dookie Dog Is OUT

Check out Dookie Dog! its in the apple iOS app store! Enjoy pooping, shooting dookies and lots of other things.

Dookie Dog App Icon

Dookie Dog App Icon

Check it out on iTunes

Check out the website for Dookie Dog!

Posted in Uncategorized | Leave a comment

Virtual Circuit & Datagram

Datagram

  • Unreliable – (not acknowledged) – Connectionless
  • Think of telegraph, its sent, but not known if received
  • UDP (User Datagram Protoccol) is an example of use of a datagram.

Virtual Circuit

  • Connection-Oriented – reliable
  • Once a route is chosen the information is stored in the different routers tables
  • It is like a normal telephone system
Issue Datagram network Virtual-circuit network
Circuit setup Not needed Required
Addressing Each packet contains the full source and destination address Each packet contains a short VC number
State information Routers do not hold state information about connections Each VC requires router table space per connection
Routing Each packet is routed independently Route chosen when VC is set up; all packets follow it
Effect of router failures None, except for packets lost during the crash All VCs that passed through the failed router are terminated
Quality of service Difficult Easy if enough resources can be allocated in advance for each VC
Congestion control Difficult Easy if enough resources can be allocated in advance for each VC
Posted in Uncategorized | Leave a comment

php military time to standard and add one hour to time


$military_time = date('H:i:s', strtotime($row['whateveryourmildatefieldis']));
$newtime = strtotime($military_time . ' + 1 hours');
$newtime = date('Y-m-d H:i:s', $newtime);
$standard_time = date('h:i:s A', strtotime($newtime));

Posted in Uncategorized | Leave a comment

iCloud / Entitlement issues with container identifier

Have you seen these errors?

The requested container identifier is not permitted by the client’s com.apple.developer.ubiquity-container-identifiers entitlement

and

NSFileManager URLForUbiquityContainerIdentifier:]: An error occurred while getting ubiquity container URL: Error Domain=LibrarianErrorDomain Code=11 “The operation couldn‚Äôt be completed. (LibrarianErrorDomain error 11 – The requested container identifier is not permitted by the client’s com.apple.developer.ubiquity-container-identifiers entitlement.)” UserInfo=0x125e70 {NSDescription=The requested container identifier is not permitted by the client’s com.apple.developer.ubiquity-container-identifiers entitlement.

 

Man this was frustrating. So Finally what I did was opened my provisioning profile on my mac using TextEdit. There is saw:

 

	<key>Entitlements</key>
	<dict>
		<key>application-identifier</key>
		<string>7T87CN95RT.com.domain.appname</string>
		<key>com.apple.developer.ubiquity-container-identifiers</key>
		<array>
			<string>3AN4TK8DRT.*</string>
		</array>
		<key>com.apple.developer.ubiquity-kvstore-identifier</key>
		<string>3AN4TK8DRT.*</string>
		<key>get-task-allow</key>
		<true/>
		<key>keychain-access-groups</key>
		<array>
			<string>7T87CN95R.*</string>
		</array>
	</dict>

I copied and pasted into the source code view of my entitlements file.


    
	<dict>
        <key>com.apple.developer.ubiquity-container-identifiers</key>
		<array>
			<string>3AN4TK8DRT.com.domain.appname</string>
		</array>
		<key>com.apple.developer.ubiquity-kvstore-identifier</key>
		<string>3AN4TK8DRT.com.domain.appname</string>
		<key>get-task-allow</key>
		<true/>
		<key>keychain-access-groups</key>
		<array>
			<string>7T87CN95RT.com.domain.appname</string>
		</array>
	</dict>

and HAZZZZAA:

    NSFileManager *fileManager = [NSFileManager defaultManager];

    NSString *bundleID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
    NSLog(@"bundleID is: %@", bundleID);
    
    NSString *appID = [NSString stringWithFormat:@"3AN4TK8DRT.%@", bundleID];
    NSLog(@"appID is: %@", appID);
    
    NSURL *testCloudURL = [fileManager URLForUbiquityContainerIdentifier:appID];
    NSLog(@"testCloudURL is: %@", testCloudURL);

This actually produced a valid url.

Posted in Uncategorized | Leave a comment

iCloud integration is the biggest headache!

I also solved this issue doing everything I say here, but also quick possibly easier fix iCloud / Entitlement issues with container identifier

With the new XCode and new iOS I figured iCloud integration would be a breeze. Man was I wrong.

error from xcode

error from xcode

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.

(0xE8008016).

The minute I check “icloud key-value store” checkbox that error appears durring run. This is with a brand new app, set up properly using new app ID and configured with iCloud support.

view of how to add an app in developer site

View of provisioning profile menu and how i have it set up

View of provisioning profile menu and how i have it set up

Trying different options changes the entitlements file in the following ways:

    • $(AppIdentifierPrefix)abcd1234.com.domain.appname
    • $(TeamIdentifierPrefix)com.domain.appname
    • $(AppIdentifierPrefix).com.domain.appname
    • abcd1234.com.domain.appname

Each one of which produces diffrent results. Some settings let me launch the app with icloud support supposedly enabled but calling

URLForUbiquityContainerIdentifier

with a valid identifier, or even with nil is always returning null.

That should not be the case especially if I just set up a new project with icloud support, created my profile, and created a brand new app with the same name.

I had all this working with an older app id and it expired. I have replicated those settings to the “T” and still nothing working completely correctly. The apple documentation seems fairly consistant, although some changes over time, and yet yields no results.

UPDATE

OK, so I created another new project from scratch. Gave it a name and set all the before mentioned steps up in the developer member center. Appid, enable icloud, provisioning profile …

I have found that for app: com.domain.appname

icloud key-value store: abcd1234.com.domain.appname

keychain access groups: abcd1234.com.domain.appname

these are the resuslts int he entitlemtns file, respectivly:

com.apple.developer.ubiquity-kvstore-identifier: $(TeamIdentifierPrefix)com.bworbyworks.mobilevideoorganizer

keychain-access-groups: item 0: $(AppIdentifierPrefix).com.bworbyworks.mobilevideoorganizer

I do not get the above error any more, but when I try to access cloud urls i am returned null.

Posted in Uncategorized | Leave a comment

XCODE – Couldn’t register with the bootstrap server

I have been getting the following error every now and again when testing in XCode 4.3.2 on my iPhone 4s.

“Couldn’t register com.bworby.**** with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.”

The Solution: restart phone

Posted in Uncategorized | Leave a comment

Xcode 4.3.2 Strange button in back of UISearchBar

I am using Xcode 4.3.2 and I have noticed a Strange button in back of UISearchBar for the iPhone not iPad.

strange background button

Has anyone else noticed this or happen to know of a fix? I asked apple but have had no response as of yet.

Posted in iOS | Tagged , , | Leave a comment

iOS UITableView or UIScrollView with keyboard input needs resigning

You want users to enter some data into a form or some input field. Well good for you! Sometimes it can become an interesting process to figure the right way to display, and then resign, that keyboard so it makes sense to the user. One instance I ran into recently was when I had a table view of options that required some number to be inputed as well as text in other areas. I played with several different ways to “hide” the keyboard. After reading some Apple docs I ran across the scroll view delegate method scrollViewWillBeginDragging.

-(IBAction)textFieldDidBeginEditing:(UITextField *)textField
{
    //editingField is a property of my class declared in my .h
    self.editingField = textField;    
}
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 
{
    [editingField resignFirstResponder];
}

This is not going to always be the answer but for me it was perfect! Hope this helps one or two of you out there.

To add to that once you have a keyboard sometimes it will cover the text field or whatever you are trying to enter the information into. In that case you need to “move” or set the offset during the entering of data. For this I have:


-(IBAction)textFieldDidBeginEditing:(UITextField *)textField
{
    self.editingField = textField;    
    CGPoint point = [textField.superview convertPoint:textField.frame.origin toView:self.tableView];
    CGPoint contentOffset = self.tableView.contentOffset;
    //this requires some fiddling depending on OS, view, and keyboard
    contentOffset.y = (point.y - self.navigationController.navigationBar.frame.size.height) - 30;
    //print the value for testing
    NSLog(@" contentOffset is: %@", NSStringFromCGPoint(contentOffset));
    [self.tableView setContentOffset:contentOffset animated:YES];
}
Posted in iOS, objective C | Leave a comment