Facebook SDK 7.4.0 in Unity 5.3 Inviting & Sharing - ios

I have create a unity project and integrated facebookSDK sharing as a given in this tutorial(https://www.youtube.com/watch?v=XDLyYvHdlGM).
This is working fine on unity editor as they show in this tutorial but problem is this it’s not working on my iPod device.
When I click on Login button in iPod device nothing to happen just restart my app and an exception throw in Xcode:
Exception is:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Read permissions are not permitted to be requested with publish or manage permissions.'
*** First throw call stack:
(0x219f810b 0x2119ee17 0x219f7e19 0x1150aed 0x8902bf 0x89013b 0x892375
0x11e98f 0x11d34d 0x117557 0x121327 0x58bdfb 0x554179 0x54dd5d
0x79b317 0x5521a3 0x551dff 0x5517f7 0x54d1b7 0x859533 0x10d0aa5
0xa17b99 0xa17b5b 0xa0c555 0x901351 0x9d102d 0xc024eb 0x13105 0x12f05
0x38db9a1 0x23c7c7c3 0x23c7c60f 0x2336757b 0x21c463e9 0x219a9ae9
0x219bbe43 0x219bb557 0x219b9969 0x2190cbf9 0x2190c9e5 0x22b58ac9
0x25b9cba1 0xb8db 0x215bb873) libc++abi.dylib: terminating with
uncaught exception of type NSException
Kindly suggest me what should I do.
Thanks!

I had this same problem. I fixed it by separating my permissions into read & write permission lists. I believe the problem was coming up when I had a single list of permissions and tried to pass "publish_action" into LogInWithReadPermissions. For example:
List<string> Readpermissions = new List<string>();
List<string> Writepermissions = new List<string>();
Readpermissions.Add("public_profile");
Readpermissions.Add("user_friends");
Writepermissions.Add("publish_actions");
FB.LogInWithReadPermissions(Readpermissions, AuthCallBack);
FB.LogInWithPublishPermissions(Writepermissions, AuthCallBack);
edit: This will create a problem of it's own where it will create a second dialogue (log in with publish) before the user logs into the first dialogue (log in with read). Once the permissions are separated, just make sure to request "LogInWithPublishPermissions" in the AuthCallBack of "LogInWithReadPermissions" or anytime once you are logged in.

Related

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: self.senderId != nil'

I'm playing with JSQMessagesViewController. My first project I did using Raywenderlich's Firebase Tutorial: Real-time Chat tutorial.
Then I created a new project to play more with JSQMessagesViewController. And in this new project I'm having issue now.
After I import JSQMessagesViewController and add it as a super class for my ViewController, I got this error in my console -
Assertion failure in -[NewProject.ViewController viewWillAppear:],
/Users/Downloads/ChatChatFirebaseTutorial-finished/Pods/JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesViewController.m:233
2017-05-30 20:43:44.498 NewProject[10688:314277] *** Terminating app
due to uncaught exception 'NSInternalInconsistencyException', reason:
'Invalid parameter not satisfying: self.senderId != nil'
I see message from ChatChatFirebaseTutorial(am I right?) my previous project in my new project.
So, I deleted everything what was about ChatChatFirebaseTutorial and even more from my mac. It didn't help. I uninstalled and installed pods from project and mac few times. It didn't help.
Did anyone has this issue before? If yes, how did you solve it?
The Library requires that you set a senderID for the current user. This can be done by adding a function like this to your class
override func senderId() -> String {
return "UNIQUEID"
}
I would use something you know is going to be unique such as an email or a unique Id you generate just associated to the user so you can determine who sent the messages.

App crashing "libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)"

So, after 1 hour of googling I still can't fix this error that I got. Whats happening is that every time I go to click my "Sign Up" button, the app crashes, its suppose to redirect me to a different view where the user can sign up with there email and password. I tried many things other users have posted but none of them seem to be working.
error code:
2016-11-14 23:30:52.363967 FHCI[4785:1536750] [Firebase/Core][I-COR000019] Clearcut post completed.
2016-11-14 23:30:52.364 FHCI[4785] <Debug> [Firebase/Core][I-COR000019] Clearcut post completed.
2016-11-14 23:30:53.561590 FHCI[4785:1536709] *** Terminating app due to uncaught exception 'com.firebase.core', reason: 'Default app has already been configured.'
*** First throw call stack:
(0x186e4a1c0 0x18588455c 0x186e4a108 0x100107358 0x100107120 0x1000a795c 0x1000a7a40 0x18cca50b0 0x18cca4c78 0x18d668ae4 0x18cfefb08 0x18cff72c4 0x18d010d04 0x18d013e5c 0x18cd97b54 0x18d464b9c 0x18d465d84 0x18d465b8c 0x18d465e5c 0x18ccda484 0x18ccda404 0x18ccc48b8 0x18ccd9cf0 0x18ccd9818 0x18ccd4a60 0x18cca552c 0x18d492a54 0x18d48c4bc 0x186df8278 0x186df7bc0 0x186df57c0 0x186d24048 0x1887aa198 0x18cd102fc 0x18cd0b034 0x1000aa388 0x185d085b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Picture of my code
Story board
Earlier, I have faced the same issue. Fix it by below solutions.
Solution:1
Please make sure FIRApp.configure() the statement executes once
throughout the project. If you have written more then one time then
you have to remove your second unused statement. It will solve your
problem.
Solution:2
1 ) Remove pod file from project (How to remove pod file)
2 ) Remove Old GoogleService-Info file from the project.
3 ) Download GoogleService-Info and add it into the project.
4 ) Add pods file Again.
5) Put the Below method in Appdelegate file.
override init() {
super.init()
FIRApp.configure()
}
I also had this problem. In my case the file GoogleService-Info.plist was not included in Copy Bundle Resources.
I have the same error the solution above didn't work for me.
Solution:
Just go to status bar of Xcode Product ⇒ clean
Image:
In my case I removed Main.storyboard but forgot to remove in from General target's settings. Removing it solved unexpected crash on app launch.

Integration and Use of W3i iOS Advertiser SDK to advertise our iOS app

I'm integrating W3i Advertiser SDK in iOS app, but app is being crashed at following line.
[[W3iAdvertiserSdk sharedConnector] connectWithAppID:W3I_APP_ID];
and here is exception:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI W3iPublisherJSONRepresentation]: unrecognized selector sent to instance 0xa1d7520'
*** First throw call stack:
(0x29d3012 0x23fae7e 0x2a5e4bd 0x29c2bbc 0x29c294e 0x16af7a 0x3e25 0xcd57b7 0xcd5da7 0xcd6fab 0xce8315 0xce924b 0xcdacf8 0x2903df9 0x2903ad0 0x2948bf5 0x2948962 0x2979bb6 0x2978f44 0x2978e1b 0xcd67da 0xcd865c 0x2d08d 0x26c5)
libc++abi.dylib: terminate called throwing an exception
I Searched a lot but there is no information on net related to w3i's integration and it's use except w3i's official guideline.
https://associate.w3i.com/integration/W3i_iOS_Advertiser_SDK_Integration_Guide1.htm
https://associate.w3i.com/integration/index.html
Here are steps i'm following:
Step1: Download SDK from W3i
Step2: Drag W3iAdvertiserSdk-3.2.0 folder into project's file folder
Step3 Add a link to the following frameworks if not already present:
AdSupport.framework
UIKit.framework
Foundation.framework
CoreGraphics.framework
Step4: Add to your AppDelegate.m file, #import "W3iAdvertiserSdk.h"
If I run the app after above Integration then app runs fine without any error but when i call the method of W3iAdvertiser to connect with app then it it throws exception which i've already posted above.
// add this line to application's didFinishLaunchingWithOptions method
[[W3iAdvertiserSdk sharedConnector] connectWithAppID:W3I_APP_ID]; //appId created at w3i
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI W3iPublisherJSONRepresentation]: unrecognized selector sent to instance 0xa1d7520'
*** First throw call stack:
(0x29d3012 0x23fae7e 0x2a5e4bd 0x29c2bbc 0x29c294e 0x16af7a 0x3e25 0xcd57b7 0xcd5da7 0xcd6fab 0xce8315 0xce924b 0xcdacf8 0x2903df9 0x2903ad0 0x2948bf5 0x2948962 0x2979bb6 0x2978f44 0x2978e1b 0xcd67da 0xcd865c 0x2d08d 0x26c5)
libc++abi.dylib: terminate called throwing an exception
Can anyone please guide me where i'm going wrong, how to use SDK's functions to connect App with w3i's to advertise our app through w3i ?
You need to follow this step as well:
Add -ObjC to Other Linker Flags in your target's Build Settings. That will allow "Option 1" to not crash.
There are two ways to connect app with w3i:
Option1: Integrate W3i-iOS-SDK, and call it's method "connectWithAppId" at start of application.
Option2: Call W3i "appWasRun" API at start of application
first option didn't work for me, but Option2 is quite easy and working fine.
Here is format of API and it's parameters:
http://api.w3i.com/PublicServices/MobileTrackingApiRestV1.svc/AppWasRun?AppId={APPID}&clientIp={CLIENTIP}&iOSIDFA={advertisingIdentifier}&iOSUDID={IOSUDID}&iOSOpenUDID={IOSOpenUDID}&iOSMD5WLANMAC={iOSMD5WLANMAC}&iOSSha1HashedMac={iOSSha1HashedMac}
Request Type: GET
Required Parameters: APPID (generated by W3I) and at-least one identifier (all parameters are preferred by W3i)
I used only OpenUDID and it worked fine.
http://api.w3i.com/PublicServices/MobileTrackingApiRestV1.svc/AppWasRun?AppId=W3i_APP_ID&iOSOpenUDID=OPEN_UDID
For More Information check the following links.
https://sites.google.com/site/w3ideveloperscom/ios/iOSAFPP/advapi
https://associate.w3i.com/integration/Device_Identifiers.htm
Hope it would help others in future :)

Unity iOS game crashing with NSInternalInconsistencyException

I am using Prime31's GameCenter Turn Based plugin in my game in order to handle online matches. A problem arises when I receive an "invitation to play" notification from Game Center while Game Center's matchmaker is showing (called using the plug-in => GameCenterTurnBasedBinding.findMatch(2,2,false); ).
The app crashes and the following output is shown in Xcode:
2012-08-20 08:39:27.050 Cabrais[1808:707] *** Assertion failure in -[NSIndexPath row], /SourceCache/UIKit/UIKit-1914.85/UITableViewSupport.m:2606
2012-08-20 08:39:27.052 Cabrais[1808:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid index path for use with UITableView. Index paths passed to table view must contain exactly two indices specifying the section and row. Please use the category on NSIndexPath in UITableView.h if possible.'
*** First throw call stack:
(0x355ec88f 0x33210259 0x355ec789 0x349e03a3 0x32d4d673 0x35dba49d 0x35dd90e5 0x35dd9379 0x32d4cefb 0x32d4bfd9 0x32d4b763 0x35da7657 0x32ceff37 0x3554b1fb 0x32716aa5 0x327166bd 0x327165c9 0x35dd8179 0x35da936b 0x35dbce65 0x35dbb6b3 0x33979c59 0x33984e91 0x355bf2ad 0x355424a5 0x3554236d 0x332dd439 0x32d1acd5 0x6954 0x3388)
terminate called throwing an exception(lldb)
I have tried disabling notifications through the Ipad/Iphone settings for both my app and GameCenter as well as through the code by removing all notification related code but this hasn't had any effect at all.
I know through debugging that the code in my function attached to GameCenterTurnBasedManager.handleTurnEventEvent doesn't get called before the crash occurs, and neither does the one registered to EtceteraManager.remoteNotificationReceived. (Both these function work perfectly fine otherwise.)
I have asked Prime31 and they have told me that the exception is a mishandling of the tables data source, and to file a bug report with Apple.
Has anyone experienced a similar crash/error while working with Unity?
And is there any way I can try to catch the notification before it arrives and remove the matchmaker or be able to handle the error from unity?
Any insight/help/comments would be greatly appreciated,
Thanks.

Facebook iOS integration login window

I wanna put iOS Facebook integration. So I am using new Facebook SDK and so here in this Facebook tutorial documentaion provided by this link which are as under.
http://developers.facebook.com/docs/mobile/ios/build/
It's enough or we have to add Functionalities like HAckbook example in the git hub.
in which view we have to code.
I follow the facebook tutorial ios found the error log are as under.
2012-05-30 16:15:09.573 ComleX1App[6121:12203]
-[ComleX1AppAppDelegate_iPhone logoutButtonClicked]: unrecognized selector sent to instance 0xc559ba0
2012-05-30 16:15:09.574
ComleX1App[6121:12203] * Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[ComleX1AppAppDelegate_iPhone
logoutButtonClicked]: unrecognized selector sent to instance
0xc559ba0'
* First throw call stack: (0x15e3022 0x1774cd6 0x15e4cbd 0x1549ed0 0x1549cb2 0x15e4e99 0x61f14e 0x61f0e6 0x6c5ade 0x6c5fa7 0x6c5266
0x6443c0 0x6445e6 0x62adc4 0x61e634 0x1d3def5 0x15b7195 0x151bff2
0x151a8da 0x1519d84 0x1519c9b 0x1d3c7d8 0x1d3c88a 0x61c626 0x21e9
0x2165 0x1) terminate called throwing an exception(lldb)
Without actually looking at the code, it seems that the logoutButton from which you call the selector is released before it can call the actual method. Can you post some of your code to see where it fails?

Resources